据我所知实体框架忽略,只要你不想返回包括完整的实体,但只有预测。例如见答案here。我不确定这是否仍然适用于所有类型的预测,但显然它仍然适用于您的情况。
您可以通过添加您希望其具有装载到一个匿名类型的导航属性解决此:
var items = from item in context.ProductosBodegas
select new {
Product = item.Product,
TypeP = item.Product.TypeP
};
(你不需要.Include
这里了。)执行这个查询(通过使用.ToList()
为后实例),你可以投射到你想有,像这样的匿名类型的只是一部分:
var products = items.ToList().Select(x => x.Product);
在此products
集合中的元素现在已经加载了TypeP
参考属性。
编辑:
重要提示:请不要更改.ToList
和.Select...
的顺序。虽然这...
var products = items.Select(x => x.Product).ToList();
...也语法正确,并返回一个产品一个枚举,该TypeP
参考不会在这种情况下加载。首先在数据库中执行匿名类型的查询,并将匿名类型集合加载到内存中。然后,您可以扔掉.Select
方法不希望拥有的那种类型的部分。
感谢您的帮助...... – Pablogrind 2011-03-31 14:26:13