我正在使用Entity Framework 4.1開發MVC3應用程序。我做了LINQ查詢,並將其返回爲IEnumerable<T>
。但是,在控制器中,我必須使用Include(other entity)
,就像ObjectSet
一樣,所以我可以在視圖中顯示其他實體值(與正在查詢的實體值相關聯)。我試圖從IEnumerable<T>
到ObjectSet<T>
,但它拋出異常。有沒有什麼辦法可以從IEnumerable
得到ObjectSet
,或者在IEnumerable
中包含實體?
在此先感謝。IEnumerable <> to ObjectSet <>,原因:INCLUDE
1
A
回答
2
如果你的背景是還活着(如果你還沒有使用的左),如果你沒有做過.ToList()
你應該能夠轉換爲ObjectQuery<T>
。
一個更安全的做法是在其中IQueryable<T>
檢查是否可查詢是一個ObjectQuery<T>
並且如果是這樣投射到ObjectQuery<T>
和返回結果.INCLUDE()否則返回所述輸入查詢使用的擴展方法。
0
將它轉換爲IEnumerable後,它將與數據源斷開連接。
您應該在DAL中包含相關實體,同時它仍然是IQueryable或IObjectQuery,然後將完整結果作爲IEnumerable返回。
否則,您將會對數據庫執行額外的操作。
硅
相關問題
- 1. IEnumerable <IEnumerable <T>> to string [] []
- 2. List <int> to IEnumerable <IComparable>
- 3. 將IEnumerable <T>與IEnumerable比較IEnumerable <IEnumerable <T>>
- 4. Simply IEnumerable <int> to List <KeyValuePair <int, int>>?
- 5. ObjectResult <Nullable <DateTime>> to IEnumerable <DateTime>?
- 6. LINQ to IEnumerable <MyObj>
- 7. databind entityframework ObjectSet <T> to gridcontrol(c#)
- 8. 鑄造IEnumerable <Derived> IEnumerable <BaseClass>
- 9. 如何將IEnumerable <IEnumerable <IGrouping <int,string> >>轉換爲IEnumerable <IEnumerable <string>>
- 10. 「#include <QtCore/QCoreApplication>」與「#include <QCoreApplication>」
- 11. IEnumerable <>到IList <>
- 12. 從IEnumerable <IEnumerable <T>>
- 13. 分組IEnumerable <IEnumerable <int>>
- 14. 產量返回IEnumerable <IEnumerable <...>>
- 15. Mapper.Map <任務<IEnumerable的<Address>>,任務<IEnumerable的<AddressView>>()
- 16. Laravel - 修改並通過</p> <pre><code>@include('template.included') </code></pre> <p>從@include
- 17. 的EntitySet <IEnumerable的<T>>到IEnumerable的<T>
- 18. 選擇自IEnumerable <T>到IEnumerable的<Quantity<T>>
- 19. IEnumerable的<T>到的IDictionary <U,IEnumerable的<T>>
- 20. 如何將List <IEnumerable <ProductViewModel >>轉換爲<IEnumerable <ProductViewModel >>?
- 21. #include <cmath>
- 22. #include <iostream.h>
- 23. 如何將IEnumerable <IEnumerable <Foo>>減少到IEnumerable <Foo>?
- 24. IEnumerable的<IEnumerable的<T>>到的IEnumerable <T>使用LINQ
- 25. 如何將IEnumerable <IEnumerable <T>>轉換爲IEnumerable <T>
- 26. Rewrite <sub> .domain.com/<path> to/subdomains/<sub>/<path>
- 27. convert <vector><string> TO <vector><int> C++,Win32
- 28. C#,objectCollection.OfType <T>()和foreach(T item in objectCollection),IEnumerable to IEnumerable <T>
- 29. 不能#include <QQuickView>(或<QtQuick>)。
- 30. 轉換IEnumerable <Task<T>>到IObservable <T>
擴大這一點,你可以返回是有ap你使用IEnumerable的關鍵原因?如果您將IQueryable返回給您的控制器,則可以使用IQueryable Include –
如果我使用IQueryable,則會得到「實體或複雜類型無法在LINQ to Entities查詢中構建。」 – dodjavola
有關詳細信息,請參閱編輯。 –