據我所知實體框架忽略,只要你不想返回包括完整的實體,但只有預測。例如見答案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