2011-12-07 101 views
4

我想留在加盟實體框架工作3.5,但我不能這樣做......左連接實體框架3.5

from i in 
    (from ta in context.test_attempt 
    join uf in context.user_flag on ta.users.USERID equals uf.UserID) 
select i; 

我想使用左連接,而不是加入?

+0

實體框架3.5不存在。你的意思是EF 1,4,4.1還是4.2(可能是1)? –

+0

我假設他的意思是EF1 for .NET 3.5。說實話,你真的不應該使用EF1。非常有缺陷。升級到EF和.NET 4或使用另一個ORM IMO。 –

+0

是的,我的意思是EF1 for .Net 3.5 –

回答

1

您需要使用DefaultIfEmpty()的外連接:

from ta in context.test_attempt 
join uf in context.user_flag on ta.users.USERID equals uf.UserID into g 
from uf in g.DefaultIfEmpty() 
select new { ta, uf } 

你從外/選擇上面是不必要的,只是項目tauf到你所需要的。

+1

實體框架3.5不支持DefaultIfEmpty()。我曾嘗試過,但它給錯誤.......... –

+0

然後,我認爲你運氣不好。 :( – dahlbyk

+0

除了DefaultIfEmpty()之外,還有其他的方法,因爲實體框架3.5不支持這個嗎? –