作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从一个基表中包含两个表,并在第二个表上提供一个“where”语句,但我遇到了一个非常令人困惑的错误(如下)。关于问题/解决方案的任何想法?
ObjectQuery<STATE> productQuery =
LeadsContext.STATE.Include("REGION")
.Where("it.REGION.BRAND.BRAND_ID = @brand", new ObjectParameter("brand", brand))
.OrderBy("it.STATE_ABBV");
'BRAND' is not a member of 'Transient.collection[Citizens.Leads.Data.REGION(Nullable=True,DefaultValue=)]'. To extract properties out of collections, you must use a sub-query to iterate over the collection., near multipart identifier, line 8, column 1.
最佳答案
听起来好像 State.REGION
实际上是 Region
实体的集合。
在这种情况下,您不能像那样直接访问 BRAND 导航,因为您的语句尝试访问集合的 BRAND 属性,而不是集合中元素的 BRAND 属性。
如果您使用 LINQ to Entities 而不是查询构建器方法编写此查询,您可以这样做:
var productQuery = from s in LeadsContext.State
from r in s.REGION
where r.Brand.Brand_ID == brand
orderby s.STATE_ABBR
select s;
var productQuery = from s in LeadsContext.State.Include("REGION")
from r in s.REGION
where r.Brand.Brand_ID == brand
orderby s.STATE_ABBR
select s;
from y in z from x in y
)时,您的 INCLUDE 丢失了。
var productQuery = (from s in LeadsContext.State
from r in s.REGION
where r.Brand.Brand_ID == brand
orderby s.STATE_ABBR
select s) as ObjectQuery<State>).Include("REGION");
关于.net - Entity Framework 包括 Where 和 3 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1511626/
我是一名优秀的程序员,十分优秀!