草庐IT

存储库

全部标签

c# - 存储库模式和/或/与业务逻辑层

我有一个问题想听听您的意见。我正在尝试使用存储库模式。我有一个将数据加载到POCO的存储库对象。我还创建了一个业务逻辑层,它添加了一些功能但基本上包装了POCO。所以最后我有一个BLL,它使用存储库加载DAO。我对这个解决方案不是很满意。我有一个三层,但我觉得BLL没有提供足够的功能来保持它。另一方面,我不想将我的逻辑放在存储库层或数据访问层?所以我的问题是我应该把应用程序的逻辑放在哪里?您使用哪种解决方案(DAO+repo或DAO+BLL+rep或任何其他)? 最佳答案 在设计域时,有两种基本的方式来考虑业务规则。1.)域实体是基

c# - 通用存储库 - IRepository<T> 或 IRepository

我见过两种不同的创建通用存储库的方法。这两种方法(优点和缺点)之间有什么区别?请忽略方法上的差异,因为我对之间的差异感兴趣publicinterfaceIRepositorywhereT:class和publicinterfaceIRepository:IDisposable在功能、灵active、单元测试……方面有什么区别吗?我会得到什么或失去什么?它们在依赖注入(inject)框架中的注册方式有什么不同吗?选项1publicinterfaceIRepositorywhereT:class{TGet(objectid);voidAttach(Tentity);IQueryableGe

c# - 通用存储库 - IRepository<T> 或 IRepository

我见过两种不同的创建通用存储库的方法。这两种方法(优点和缺点)之间有什么区别?请忽略方法上的差异,因为我对之间的差异感兴趣publicinterfaceIRepositorywhereT:class和publicinterfaceIRepository:IDisposable在功能、灵active、单元测试……方面有什么区别吗?我会得到什么或失去什么?它们在依赖注入(inject)框架中的注册方式有什么不同吗?选项1publicinterfaceIRepositorywhereT:class{TGet(objectid);voidAttach(Tentity);IQueryableGe

c# - 存储库和数据映射器模式

在大量阅读Repository和DataMapper之后,我决定在测试项目中实现这些模式。由于我是新手,所以我想了解您对我如何在一个简单项目中实现这些的看法。杰里米·米勒说:Dosomesortofnontrivial,personalcodingprojectwhereyoucanfreelyexperimentwithdesignpatterns.但我不知道我做的这些事情对不对。这是我的项目结构:如您所见,有许多文件夹,我将在下面详细描述它们。域:项目域实体转到此处我有一个简单的Personnel类,它继承自EntityBase类,EntityBase类有一个名为Id的属性。pub

c# - 存储库和数据映射器模式

在大量阅读Repository和DataMapper之后,我决定在测试项目中实现这些模式。由于我是新手,所以我想了解您对我如何在一个简单项目中实现这些的看法。杰里米·米勒说:Dosomesortofnontrivial,personalcodingprojectwhereyoucanfreelyexperimentwithdesignpatterns.但我不知道我做的这些事情对不对。这是我的项目结构:如您所见,有许多文件夹,我将在下面详细描述它们。域:项目域实体转到此处我有一个简单的Personnel类,它继承自EntityBase类,EntityBase类有一个名为Id的属性。pub

c# - 如何使用存储库模式伪造 Entity Framework 中的 DbContext.Entry 方法

因为我想对我的代码进行单元测试,所以我在我的MVC4应用程序中实现了存储库模式。我设法制作了一个上下文接口(interface),一个伪造的上下文,并使用了一个伪造的System.Data.Entity.DbSet实现。通过关注this代码。不幸的是,就像我之前的两个发帖人(here和here)一样,我无法mockDbContext.Entrymethod。.我使用这种方法在我的代码中更新数据库条目,如下所示:DbContext.Entry(order).State=EntityState.Modified;我还没有找到解决这个问题的方法,只有那些说这样的话的人:"andwhatist

c# - 如何使用存储库模式伪造 Entity Framework 中的 DbContext.Entry 方法

因为我想对我的代码进行单元测试,所以我在我的MVC4应用程序中实现了存储库模式。我设法制作了一个上下文接口(interface),一个伪造的上下文,并使用了一个伪造的System.Data.Entity.DbSet实现。通过关注this代码。不幸的是,就像我之前的两个发帖人(here和here)一样,我无法mockDbContext.Entrymethod。.我使用这种方法在我的代码中更新数据库条目,如下所示:DbContext.Entry(order).State=EntityState.Modified;我还没有找到解决这个问题的方法,只有那些说这样的话的人:"andwhatist

c# - Ninject + Bind 通用存储库

我正在尝试将通用IRepository接口(interface)绑定(bind)到我的通用Repository-但它总是返回null?我试过很多东西,比如:Bind(typeof(IRepository)).To(typeof(Repository));Bind(typeof(IRepository)).To(typeof(Repository));但是,如果我传入一个非通用接口(interface)和类,那么它会像梦一样工作吗? 最佳答案 Bind(typeof(IRepository)).To(typeof(Repository

c# - Ninject + Bind 通用存储库

我正在尝试将通用IRepository接口(interface)绑定(bind)到我的通用Repository-但它总是返回null?我试过很多东西,比如:Bind(typeof(IRepository)).To(typeof(Repository));Bind(typeof(IRepository)).To(typeof(Repository));但是,如果我传入一个非通用接口(interface)和类,那么它会像梦一样工作吗? 最佳答案 Bind(typeof(IRepository)).To(typeof(Repository

c# - 使用 EF4 "Code First"和存储库进行单元测试

我正在尝试对我在最新的EF4CTP中使用CodeFirst方法构建的非常简单的ASP.NETMVC测试应用程序进行单元测试。我在单元测试/模拟等方面不是很有经验。这是我的Repository类:publicclassWeightTrackerRepository{publicWeightTrackerRepository(){_context=newWeightTrackerContext();}publicWeightTrackerRepository(IWeightTrackerContextcontext){_context=context;}IWeightTrackerCont