2011-01-06 80 views
3

我有一個表叫做文本(這是什麼一個名稱),和一張桌子稱爲TextTranslations的Linq:在1的N端選擇項目:N關係

文字可以有多個texttranslations(texttranslation有FK TEXTID以text.textid) 它也有一個名爲'翻譯'的屬性。

現在我有一個文本對象列表,它們都有一個或多個文本翻譯子對象。

我想匹配所有具有兒童(文本翻譯)與'翻譯'屬性相等的文本對象。

所以在僞代碼將是:

list.Where(1個或多個z.childs.texttranslation包含 'BLA')

可能?

回答

3
from text in context.Text 
    where text.TextTranslations.Any(tt => tt.Translation.Contains("bla")) 
select text; 

或者

context.Text 
    .Where(
     text => text.TextTranslations.Any(tt => tt.Translation.Contains("bla") 
    ); 

或者

(from textTranslation in context.TextTranslations 
    where textTranslation.Translation.Contains("bla") 
select textTranslation.Text) 
.Distinct(); 

或者

context.TextTranslations 
    .Where(textTranslation => textTranslation.Translation.Contains("bla")) 
    .Select(textTranslation => textTranslation.Text) 
    .Distinct(); 
+0

謝謝合作!以前沒有用過.Any – Michel 2011-01-09 16:15:49