1
我试图重复使用EF6扩展方法与关联的实体(一对多关系)。人为的例子:实体框架 - 重用相关的扩展方法
public class Parent
{
public string State { get; set; }
public ICollection<Child> Children { get; set; }
}
public class Child
{
public string Value { get; set; }
public Parent Parent { get; set; }
}
public static ParentNamedScopes
{
public static IQueryable<Parent> IsReady(this IQueryable<Parent> queryable)
{
return queryable.Where(p => p.State == "Ready" || p.State == "New");
}
}
// ...
var children = db.Children
// my goal, but can't cast Parent to IQueryable<Parent>
// ------------------v
.Where(c => c.Parent.IsReady())
.Where(c => c.Value == "Foobar");
我已经看到了在子查询关联集合使用AsQueryable已()的例子,但是这不是一个选项,因为家长是一条记录。我确信我错过了一些明显的事情,我很抱歉,因为我的谷歌foo今天没有提出答案。
谢谢你的答案显然我失踪。另外感谢新项目的调查。 –