什么是对Entity Framework 4中的对象集的大肆宣传?

时间:2010-05-11 10:20:46

标签: entity-framework .net-4.0

我是.net 3.5中EF的中间用户,最近又转向使用.net 4。

在阅读各种教程时我不断遇到的一件事是使用ObjectSets而不是ObjectQuerys,它们是一个很棒的新功能。

他们有什么好处?

请赐教。

亲切的问候, 钢钣

1 个答案:

答案 0 :(得分:4)

不确定你的问题是否意味着什么,但是ObjectSet的真正优点在于它实现了一个接口 IObjectSet ,这意味着你可以非常轻松地伪造它并测试代码< / strong>向下直到数据访问层。

更酷的是,由于ObjectSet使用泛型类型( IObjectSet&lt; T&gt; ),您可以拥有通用存储库并实现工作单元模式。

public interface IRepository<T> where T : class
{
     IQueryable<T> GetQuery();
     IEnumerable<T> GetAll();
     IEnumerable<T> Find(Func<T, bool> where);
     T Single(Func<T, bool> where);
     T First(Func<T, bool> where);

     void Delete(T entity);
     void Add(T entity);
     void Attach(T entity);
     void SaveChanges();
}

这里有完整的文章:

http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/