【发布时间】:2018-09-08 21:39:20
【问题描述】:
我正在尝试为我的 ASP.NET Core API 推出高性能 DAL。我想使用 ADO.NET,但在设计软件架构时遇到了困难。我正在寻求帮助来讨论一个好的方法。
我有什么
我的代码库将包含三个项目
- MyApp.API
- MyApp.Repositories(数据访问层)
- MyApp.Services(业务逻辑)
我将在MyApp.Repositories 中实现IUnitOfWork,并在MyApp.API 中创建一个具体的SqlUnitOfWork。 Startup.cs 将注册IUnitOfWork 到SqlUnitOfWork。稍后,当我获得更多数据源(Mongo 等)时,我可以合并一个UnitOfWorkFactory。
问题
我应该在
Startup.cs中注册每个存储库还是简单地将它们添加为IUnitOfWork的属性?这里的想法是我会在我的控制器、服务和存储库中使用依赖注入,但只需要注入IUnitOfWork。如何将我的连接字符串传递到
SqlUnitOfWork?我知道连接字符串应该保留在MyApp.API内。
【问题讨论】:
-
如果
SqlUnitOfWork在启动时作为服务添加,您可以注入上下文。如果需要,您还可以注入IConfiguration以访问连接字符串。
标签: c# asp.net asp.net-core ado.net