我是 .net 3.5 中 EF 的中级用户,最近转而使用 .net 4。
在阅读各种教程时,我不断遇到的一件事是使用 ObjectSet 而不是 ObjectQuery,它们是一项很棒的新功能。
他们有什么了不起的?
请赐教。
亲切的问候, 科汉
最佳答案
不确定这是否是您问题中的意思,但 ObjectSet 真正酷的是它实现了一个接口(interface) IObjectSet,这意味着您可以非常轻松地伪造它并测试代码 向下直到数据访问层。
更酷的是,由于 ObjectSet 使用泛型类型 (IObjectSet< T >),因此您可以拥有一个通用存储库并实现工作单元模式。
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();
}
完整的文章在这里:
关于entity-framework - 关于 Entity Framework 4 中的对象集的所有炒作是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2809790/