本文介绍了在linq中使用左联接查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,我想在linq中进行查询,但我想我需要一些帮助...
Hello I 'm trying to do a query in linq but I think I need some help...
我有两个表:langAvailable和Translations 即使没有翻译,我也要一个线"
I have two table: langAvailable and Translations I want a 'line' even if theres no translation recorded
例如:
LangId: 1 TranslationID:10 Translation: Hello LangId: 2 TranslationID:10 Translation: Bonjour LangId: 1 TranslationID:11 Translation: Thanks LangId: 2 TranslationID:11 Translation:这就是我要做的:
Dim query = From c In db.LangAvailable _ Join o In db.Translate On c.ID_Lang Equals o.Lang_ID _ Where o.TranslationID = 243 _ Select New With {c.LangId, o.Translation}如果翻译表中没有翻译,这只会给我一条记录... 知道我怎么能得到吗?
This only give me one record if there s no translation in the translate table... Any idea how I can get that?
感谢
推荐答案您可以使用组联接"来执行您要尝试执行的操作.试试这个:
You can use Group Join to do what you're trying to do. Try this:
Dim query = From c In db.LangAvailable _ Group Join o In db.Translate On c.ID_Lang Equals o.Lang_ID Into Group _ From o In Group.DefaultIfEmpty() _ Where o.TranslationId = 243 _ Select LangId = c.ID_Lang, Translation = If(o.Translation Is Nothing, Nothing, o.Translation)更多推荐
在linq中使用左联接查询
发布评论