Here's the query expression of your SQL query (it's recommended over the lambda expression, much simpler to deal with):
var data = from claim in Claims
join store in Stores on claim.StoreId equals store.StoreId
join claimPatient in ClaimPatients on claim.ClaimId equals claimPatient.ClaimId
join patient in Patients on claimPatient.PatientId equals patient.PatientId
select new
{
claim.ClaimId,
store.Ncpdp,
claim.RxNumber,
claim.RefillNumber,
store.StoreId,
patient.FirstName,
patient.MiddleNameInitial,
patient.LastName,
patient.NameSuffix
};
EDIT
If you want it here's the lambda version:
var data =
Claims.Join(Stores, claim => claim.StoreId, store => store.StoreId, (claim, store) =>
new { claim.ClaimId, claim.RxNumber, claim.RefillNumber, store.Ncpdp, store.StoreId })
.Join(ClaimPatients, claim => claim.ClaimId, cp => cp.ClaimId, (claim, cp) =>
new { claim.ClaimId, claim.RxNumber, claim.RefillNumber, claim.Ncpdp,claim.StoreId, cp.PatientId })
.Join(Patients, c => c.PatientId, p => p.PatientId, (c, p) => new
{
c.ClaimId,
c.Ncpdp,
c.RxNumber,
c.RefillNumber,
c.StoreId,
p.FirstName,
p.MiddleNameInitial,
p.LastName,
p.NameSuffix
});