如何解决EF查询:如何约束嵌套项目
| 请帮我写一个关于EF的查询。 我有以下表格:Products
ProductId
Name
Items
ProductId
Cost
如何选择名称为“ AAA”且仅包含价格等于100的商品?
我写了以下内容:
ctx.Products.Include(\"Items\").Where(p=>p.Name == \"AAA\" && p.Items.Any(i=>i.Cost == 100)).FirstOrDefault()
但是结果是我得到了名称为“ AAA”且包含所有商品的产品。
谢谢,
德米特里
解决方法
那是因为您正在加载产品的所有项目。无论如何,我都会尝试采用其他方式,即主查询可能是这样的
from i in items
where i.Product.Name == \"AAA\" && i.Cost == 100
select i
所有这些项目应具有相同的产品,并且如果需要,您也可以急于加载该产品。
ctx.Items.Include(\"Products\")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。