0

I have this query:

var qClaims = from c in CasaLatinaEntities.tblClaims
              where c.PersonID == PersonID
              select c;

var qClaimStatus = CasaLatinaEntities.lnktblClaimStatusClaims
                  .Where(cs => cs.ClaimID == qClaims
                  .Any(c => c.ClaimID));

The second query doesn't work but what I am trying to do is get all data from lnktblClaimStatusClaims that matches the IDs in qClaims. ClaimID is PK in qClaims and FK in lnktblClaimStatusClaims.

Does anyone know a good way of writing this query?

It'sNotALie.
  • 22,289
  • 12
  • 68
  • 103
nick gowdy
  • 6,191
  • 25
  • 88
  • 157

1 Answers1

4

Nearly, you need to reorder the query a bit, as LINQ doesn't have SQL-like syntax.

var qClaimStatus = CasaLatinaEntities.lnktblClaimStatusClaims
                  .Where(cs => qClaims.Any(c => c.ClaimID == cs.ClaimID));
It'sNotALie.
  • 22,289
  • 12
  • 68
  • 103
  • Thanks, I didn't know I could use my lambda expression in that way. My query has problems because I am trying to compare a single value with a collection of values. But writing cs => qClaims.Any means I am comparing values of same type. I learn't something new today :) – nick gowdy Feb 03 '14 at 09:53