日期:2014-05-20  浏览次数:20741 次

Entity Framework查询数据库后返回的结果集是存在ObjectSet<T>这个集合里吗?
Entity Framework查询数据库后返回的东西是存在ObjectSet<T>这个集合里吗?这一点让我困惑,因为感觉不太像。

在Silverlight + RIA Services + EntityFramework应用中Silverlight客户端很明显是把Load进来的数据填充进EntitySet<T>里的。这个EntitySet<T>也可以直接成为控件的绑定数据源。但在Entity Framework里这个ObjectSet<T>到底起一个什么作用一直没搞清楚。

ObjectSet<T>仅仅是在构建查询表达式是用到?实际返回的仅仅是IEnumerable<T>?
据说ObjectSet<T>是ObjectQuery<T>,然后又实现了类似List功能的IObjectSet接口,那么它既像个Query,又像个集合,那么它到底是什么,既参考构建查询表达式,又作为数据容器?







------解决方案--------------------
public class ObjectSet<TEntity> : ObjectQuery<TEntity>, 
IObjectSet<TEntity>, IQueryable<TEntity>, IEnumerable<TEntity>, 
IQueryable, IEnumerable
where TEntity : class


表示用于执行创建、读取、更新和删除操作的类型化实体集。
------解决方案--------------------
EntityRef<T>与EntitySet<T>,前者是指向单个Entity的引用,后者是序列。
------解决方案--------------------
跟着学习
------解决方案--------------------
顶,学习学习