草庐IT

存储库

全部标签

c# - Moq - 存储库中的 Linq 表达式 - 在设置中指定表达式

我的界面上有一个方法,如下所示:TGetSingle(Expression>criteria);我正在尝试模拟这样的设置(我意识到这行不通):_mockUserRepository=newMock>();_mockUserRepository.Setup(c=>c.GetSingle(x=>x.EmailAddress=="a@b.com")).Returns(newUser{EmailAddress="a@b.com"});我意识到我向设置传递了错误的参数。看完thisanswer我可以通过传递表达式来让它工作,就像这样:_mockUserRepository.Setup(c=>c.

c# - 在存储库中使用 Include() 方法

我在EF5中有以下内容:vara=context.Posts.Include(x=>x.Pack).Select(x=>x.Pack.Id).ToList();这行得通。然后我尝试在我的通用存储库中复制它:publicIQueryableInclude(Expression>criteria)whereT:class{return_context.Set().Include(criteria);}但在这种情况下,我无法执行以下操作:varb=repository.Include(x=>x.Pack).Select(x=>x.Pack.Id).ToList();我得到错误:Cannoti

c# - 使用 SharpSVN 的 SVN 存储库身份验证 - 凭据不起作用

我在C#中有以下代码:1.publicstaticvoidMain(string[]args){2.Urirepository=newUri("https://svnserver:port/svn/Src/trunk");3.using(SvnClientclient=newSvnClient()){4.client.Authentication.Clear();5.client.Authentication.DefaultCredentials=newSystem.Net.NetworkCredential("user","pass");6.7.System.Collections.

c# - 为什么存储库模式在 Entity Framework 中被广泛使用,好像它很复杂?

我正在创建一个演示项目,其中包含使用存储库模式和依赖项注入(inject)的crud操作。这是我的结构:方法1(非常流行,被许多开发人员使用)我的存储库界面:publicpartialinterfaceIRepository{voidInsert(Tentity);}我的服务层:publicpartialinterfaceIEmployeeService{voidInsertCategory(EmployeeMasteremployeeMaster);}我的类将实现该接口(interface)(服务):publicpartialclassEmployeeService:IEmploye

c# - 具有数据访问层的通用存储库

我正在使用业务对象(员工、产品)创建一个新项目。由于限制,我没有使用LINQtoSQL或任何ORM映射器。我必须手动编写数据访问层代码。我有兴趣使用“存储库模式”。根据我的理解,我必须创建一个通用存储库IRepository,它由所有存储库ProductRepository、EmployeeRepository实现。让我困惑的是不同的业务对象有不同的需求。例如:产品库GetAllProducts();GetProductById(intid);GetProductByMaxPrice(doubleprice);GetProductByNamePrice(stringname,doubl

c# - 如果存储库用于聚合根,那么其他实体的数据访问逻辑应该放在哪里?

我有几个代表网络应用程序的对象。目前我有一个集群对象来表示应用程序的特定部署。在集群对象中,我有以下对象:服务器、客户、用户。这些对象都不能不属于集群而存在,因此我创建了一个ClusterRepository来从数据库中检索集群。现在,我需要从集群中获取客户列表,大概是通过使用集群对象中的方法,如GetCustomers()。现在,我最初的想法是将此操作的工作卸载到CustomerRepository,但由于存储库仅用于聚合根,数据访问逻辑应该放在哪里?这属于服务类别吗? 最佳答案 从本质上讲,聚合根是您可能需要作为对象图的根获取的

c# - 不同项目中的 ASP.NET MVC、EntityFramework、DBContext、存储库

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我目前正在做一个ASP.NETMVC5项目,我正在尝试完善该项目的架构;让人们在未来尽可能地干净和容易地使用它。对于初学者,我已将我的EntityFramework模型(包括IdentityUser和AccountViewModel)移动到同一解决方案中的类库项目中。这是目前主要的MVC项目所引用的。但是,我现在正在考虑创建一个新的数据访问层项目,该项目将包含DbContext(或DbCo

c# - 单独的 git 存储库中的服务结构项目

按照正常的微服务框架,我们希望将每个微服务放在它自己的git存储库中,然后为ServiceFabric项目创建一个存储库。当我们更新其中一个微服务时,ServiceFabric项目将只重新部署该服务。有没有像这样拆分ServiceFabric项目的例子?我注意到在他们的所有示例中,所有内容都在一个解决方案/存储库中。 最佳答案 tl;dr:找出在管理代码和发布单个服务方面最适合您的开发团队的方法。使用diffpackages仅升级ServiceFabric应用程序中的更改。最小的存储库大小应该是一个VisualStudio解决方案中

c# - 通过 WCF 发送通用存储库的最佳方式是什么?

我有一个这样的仓库:publicabstractclassDbRepository:IDbRepository{publicTEntityInsert(TEntityentity)whereTEntity:class{_context.Entry(entity).State=EntityState.Added;returnentity;}publicTEntityUpdate(TEntityentity)whereTEntity:class{_context.Entry(entity).State=EntityState.Modified;returnentity;}}服务契约(Con

c# - 工作单元和存储库模式

我有一个使用NHibernate的存储库模式设置。基类如下所示:publicinterfaceIUnitOfWork:IDisposable{voidCommit();voidRollback();}//genericNHibernateimplementationofIUnitOfWorkherepublicclassNHibernateRepositoryBase:IRepository{privateNHibernateUnitOfWork_unitOfWork;publicNHibernateRepositoryBase(NHibernateUnitOfWorkunitOfWo