我正在使用 EF 4.3.1,并且正在执行 Code First 的第一个实现并测试数据。这是我尝试实现急切加载的设置。
public class Model
{
public int Id { get; set; }
public ICollection<ModelArchive> ModelArchives { get; set; }
}
public class ModelArchive
{
public int Id { get; set; }
public ICollection<Option> Options { get; set; }
}
public class Option
{
public int Id { get; set; }
public bool Deleted { get; set; }
}
我希望能够在我的查询中仅选择已删除 == false 的选项。到目前为止,我是空的,或者在运行查询时会导致异常。
这是我当前的查询:
using (var db = new ModelContainer())
{
db.Configuration.LazyLoadingEnabled = false;
var model = db.Models.Where(m => m.Id == 3)
.Include(m => m.ModelArchives.Select(o => o.Option).Where(o => o.Deleted == false));
}
异常:消息 =“包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。\r\n参数名称:路径”
任何帮助,将不胜感激。