这是工作代码;
IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).(Include"Contexts.AdditionalProperties.Field");
但是你知道如果我们在“Contexts.AdditionalProperties.Field”中的字符串语句中出错,它就不会产生编译时错误
我想在下面编写代码;
IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).Include(p => p.Contexts);
但是上述声明无法定义AdditionalProperties和Field。
我们该怎么做?
我想编写多个包含用于构建查询的内容。
感谢。
答案 0 :(得分:42)
如果 AdditionalProperties 是对另一个对象的单个引用:
using System.Data.Entity;
...
IQueryable<Product> productQuery = ctx.Set<Product>()
.Include(p => p.Contexts.AdditionalProperties.Field)
.Where(p => p.Id == id);
如果 AdditionalProperties 是一个集合,那么您可以使用选择方法:
IQueryable<Product> productQuery = ctx.Set<Product>()
.Include(p => p.Contexts.AdditionalProperties.Select(a => a.Field))
.Where(p => p.Id == id);
不要忘记在类文件中导入 System.Data.Entity 命名空间!