我有一個最小的情況如下: -選擇左連接默認鍵使用LINQ(到SQL)
Table Posts
PostID - PK
PostDateTime
Table LocalisedPosts
PostID - JointPK
Culture - JointPK
LocalisedTitle
LocalisedBody
表LocalisedPosts總會有存在於與表的帖子一個帖子ID匹配項文化「en」。它可能有其他文化的條目,如「es」,「fr」等。
如何構建最簡單的查詢,該查詢將返回具有當前文化的所有帖子(如果可用),或者如果不是默認的「恩「文化。
我的線沿線的思考: -
string lang = "fr" // lang is supposed to be the current culture (i.e. Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName)
var LocalisedPosts =
from p in Posts
join pl in LocalisedPosts on p.PostID == pl.PostID
where pl.culture == lang || pl.culture == "en"
select new {p.PostID, p.PostDateTime, pl.LocalisedTitle, pl.LocalisedBody};
但是,這會產生一些線「FR」和「EN」的記載。我想我需要使用orderby/distinct/first或者什麼的,但我無法弄清楚。儘管我使用的是「Or Else」而不是「Or」。
好吧,它當然有效,包括查詢翻譯。生成的SQL看起來不錯。非常感謝。 –