我正在使用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
有关详细信息,请参阅编辑。 –