2011-01-06 79 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