CodeFirst 中的多级包含 - EntityFrameWork
这是工作代码;
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 的机会。
我们应该做什么?
我想写为不止一个包含构建查询。
谢谢。
It is working code;
IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).(Include"Contexts.AdditionalProperties.Field");
But you know that it could not produce compile time error if we made mistake in string statement in "Contexts.AdditionalProperties.Field"
I would like to write code below;
IQueryable<Product> productQuery = ctx.Set<Product>().Where(p => p.Id == id).Include(p => p.Contexts);
But above statement could not give chance to define AdditionalProperties and Field.
What should we do?
I would like to write as more than one include for build query.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果“AdditionalProperties”是对另一个对象的单个引用:
如果AdditionalProperties是一个集合,那么您可以使用Select方法:
不要忘记在类文件中导入System.Data.Entity命名空间!
If AdditionalProperties is a single reference to another object:
If AdditionalProperties is a collection then you can use the Select method:
Don't forget to import System.Data.Entity namespace in your class file!