嗨,我有點新linq到SQL我知道的基本知識。問題是我想在查詢中執行左連接。查詢中有3個表格。LEFT LINQ TO SQL C#在多對多表上加入
- 原告(所有行應該從這個表中返回)
- 索賠
- 用戶
查詢應返回誰擁有索賠的所有用戶。這是通過許多表索賠完成的。但不管用戶應該歸還所有索賠人。因此,左派加入了索賠人。
我有以下查詢
var d = (from Claimants in DB.Claimants
join Claims in DB.Claims on Claimants.Claiment_ID equals Claims.Claiment_ID
join Users in DB.Users on Claims.User_ID equals Users.User_ID
where (Claimants.TrialDate.Value >= dtDayStart & Claimants.TrialDate <= dtDayEnd)
select new
{
ClaimantFirstName = Claimants.FirstName,
ClaimantLasname = Claimants.LastName,
ClaimantsID = Claimants.IDNumber,
Claimants.OurReference,
Claimants.TrialDate,
InterviewStart = Claims.DateTimeStart,
InterviewEnd = Claims.DateTimeEnd,
Claims.Priority,
UserFirstname = Users.FirstName,
UserLastName = Users.LastName,
UserID = Users.IDNumber
});
我一直在使用一個試圖進入聲明如下,但沒有運氣
var d = (from Claimants in DB.Claimants
join Claims in DB.Claims on Claimants.Claiment_ID equals Claims.Claiment_ID
into TheClaimants
from Claims in TheClaimants.DefaultIfEmpty()
join Users in DB.Users on Claims.User_ID equals Users.User_ID
where (Claimants.TrialDate.Value >= dtDayStart & Claimants.TrialDate <= dtDayEnd)
select new
{
ClaimantFirstName = Claimants.FirstName,
ClaimantLasname = Claimants.LastName,
ClaimantsID = Claimants.IDNumber,
Claimants.OurReference,
Claimants.TrialDate,
InterviewStart = Claims.DateTimeStart,
InterviewEnd = Claims.DateTimeEnd,
Claims.Priority,
UserFirstname = Users.FirstName,
UserLastName = Users.LastName,
UserID = Users.IDNumber
});
我將不勝感激,如果有人能在正確的方向指向我如何正確使用這些連接並解釋工作是如何進行的。非常感謝你提前。
http://stackoverflow.com/a/3052610/8155 – 2013-02-09 13:43:57
是否'Claimant'有一個導航屬性'索賠'?而'Claim'有一個導航屬性'Users'? – 2013-02-09 15:39:21