- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
博客圈似乎有一个共同的共识,即 Entity Framework 4 的一个重要特性是能够在通用 ObjectSet 之上创建通用存储库。通用存储库的示例实现基本上是 ObjectSet 的包装器,它只是转换方法调用。没有有意义的逻辑在进行。经过一番思考后,我开始问自己:通用存储库给我带来了哪些 ObjectSet 本身没有提供的好处? ObjectSet 具有所有必需的功能 (CRUD)。由于它实现了 IEnumerable(甚至 IQueryable),因此它提供了所有 Linq 扩展,可以非常轻松地准确指定您想要的数据。究竟是什么证明通过一些 IRepository 绕道而行,而不是直接使用 IObjectSet 作为我的数据访问层接口(interface)?
感谢和问候,
彼得。
最佳答案
实现存储库模式的原因是为了使模拟数据源更容易进行自动化单元测试。
如果您的模型上下文实现了一个接口(interface)(比如 IRepository)并且您的业务逻辑类允许通过构造函数(依赖注入(inject))传入 IRepository 对象,则单元测试可以创建自己的 IRepository 数据对象并将这些对象传递给单元测试.这意味着您可以在没有数据库支持的情况下进行单元测试,这比针对外部数据库进行测试要简单和可靠得多。
关于entity-framework-4 - 通用存储库与 ObjectSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228393/
我正在尝试缩短长代码。原始代码执行以下操作: using (var context = new DataEntities()) { context.Table1.Foreach(x =>{ /
我正在使用 EntityFramework 和 IRepository 模式,我需要向所有 EntityCollections 添加一些事件。 有没有办法获取 ObjectContext 上的集合列表
概述/描述 简单:从TEntity 中派生 的运行时类型对象的多态删除添加到 ObjectSet不会提高 IBindingList.ListChanged IBindingList 上的事件Objec
我已经填充了我的数据上下文。现在我需要填充一个表 get()。我遇到了 ObjectSet 的问题,因为我不知道如何填充它。 DataModel.Fakes.ShimMyEntities.Constr
作为MSDN建议我们可以使用以下 ObjectContext using (AdventureWorksEntities context = new AdventureWorksEntities())
为什么(在 WPF、C#、 Entity Framework 中)将 ListBox 绑定(bind)到在 ObjectSet 上创建的 ObservableCollection(来自 Entity框
我正在我的项目中进行 DAO 单元测试,但我在使用 ObjectSet 类时遇到了问题。我必须创建一个新的 ObjectSet 但为了做到这一点,我不能连接到数据库。所以我不能使用 BusinessM
ObjectSet 的默认顺序是按身份排序。我可以在映射中使用任何属性来指定自定义顺序吗?我不想引入任何可以对实体进行排序的属性,而不是“EntitiesByMyOrder”属性,我希望将特定顺序作为
博客圈似乎有一个共同的共识,即 Entity Framework 4 的一个重要特性是能够在通用 ObjectSet 之上创建通用存储库。通用存储库的示例实现基本上是 ObjectSet 的包装器,它
我是 Entity Framework 的新手,我有一个问题。是否可以将类型 var 转换/转换为强类型 ObjectSet。 例如我想做这样的事情(这只是我头脑中的一个例子,不是真正的代码): va
我的目标是使用 Entity Framework (也许是反射)来创建这样的函数: public List getTableByName(string tableName) { ObjectQu
除非我这样写,否则 ObjectSet.Single(predicate) 不起作用(Where() 和 toList() 方法也是如此): ObjectSet.Cast().Single(predi
为了在密集的数据库使用系统中进行访问控制,我必须实现一个对象集包装器,其中将检查 AC。 主要目标是进行此更改以保留现有的数据库访问代码,该代码是通过对所有类的实体进行 linq 实现的(没有集中的数
我创建了一个通用的 ObjectSet在我的通用存储库中。 我想得到的是 name ObjectSet 的 EntityKey这样我就可以在 DataContext.GetObjectByKey 中使
我使用:EntityFramework + POCO 这是事情: public interface IBaseType { int Id { get; set; } } public clas
我正在使用Entity Framework 4建立存储库,但无法使ObjectSet.AddObject()方法正常工作。这是我正在使用的代码-为简单起见,我将其从存储库中复制到了单元测试方法中: /
我想将一组条件 where 子句附加到 ObjectSet 的末尾。但是,子句不会执行,而是运行原始查询,例如: using (Entities context = new Entities()){
我希望这是有道理的。我有一个使用 Entity Framework 的 ASP.NET Web 应用程序。我在数据库中添加了几个自定义表,并创建了一个单独的项目来处理这些表的 CRUD 操作。我选择了
我已将数据库 View 添加到我的实体模型中。现在我试图将一个 ObjectSet 放入我的 ObjectContext 中,这样我就可以访问我的应用程序中的 View 。 对于常规表,我的 Obje
我对 TypeScript 很陌生,尤其是对 Object(Sets) 的自定义 Palantir 实现。我想要存档的内容:我想将 ObjectSet 过滤为某些特定值。然后我想返回这些值中的第一个。
我是一名优秀的程序员,十分优秀!