LinqKit PredicateBuilder与EF 4 CPT 5表关系?

我正在使用LinqKit PredicateBuilder(http://www.albahari.com/nutshell/predicatebuilder.aspx)作为搜索方法。这就是关系的构建方式(Entity Framework 4 CPT 5 POCO):
public class MusicSheet
{
    [Key]
    public int ID { get; set; }
    public string Title { get; set; }
    public string Key { get; set; }

    public virtual ICollection<Author> Authors { get; set; }
}

public class Author
{
    [Key]
    public int ID { get; set; }
    public string Name { get; set; }
    public string Bio { get; set; }

    public virtual ICollection<MusicSheet> MusicSheets { get; set; }
}
我需要能够构建一个谓词来检查
MusicSheet
Title
包含一个特定的搜索词)以及可能也包含该搜索词的作者的
Name
Bio
。这是我目前拥有的:
var predicate = PredicateBuilder.False<MusicSheet>();
foreach (var term in terms)
{
    string keyword = term;

    predicate = predicate
    .Or(s => s.Title.Contains(keyword));
    // TODO Check for Author Name & Bio
}
有什么建议?非常感谢你。     
已邀请:
你试过这个:
var predicate = PredicateBuilder.False<MusicSheet>();
foreach (var term in terms)
{
   string keyword = term;

   predicate = predicate
      .Or(s => s.Title.Contains(keyword) ||
               s.Authors.Any (a => a.Name.Contains(keyword) || a.Bio.Contains(keyword)));
}
    

要回复问题请先登录注册