[英]Separation of Concerns Practice with Repository, UoW Pattern and Entity Framework
在尝试使用Entity Framework Model First解决存储库和工作单元模式时,我想到了关注点分离问题。 在我的解决方案中,我有4个项目:数据,域,存储库,控制台。 在我的数据层中,我有EF,edmx文件。 在域层,我有我的对象,在存储库层,我有repo接口和UOW类。 在控制台层,我尝试在屏幕上写名称。 但是为了在屏幕上写名称,我必须将EF dll添加到Console Project并将数据库连接字符串写到app.config。 但这是错误的,我想分开关注。 控制台项目不应了解EF,而应仅与Repo层通信以使用工作单元(UOW)类。
这是我的结构:
两个项目使用EF dll,即
我简单的Console应用程序引用(这就是我想要的样子,仅使用repo层和domian层)
我的控制台代码是:
在这里,除非我将EF添加到项目并将连接字符串添加到项目,否则控制台代码不起作用。 我究竟做错了什么? 任何建议都会有所帮助,我调查了一些github项目,但找不到一个简单的解决方案,该解决方案在app.config
或web.config
中没有连接字符串
我不认为连接字符串依赖性违反了关注点分离。 启动项目了解环境。 但:
如果要避免使用连接字符串,可以创建在连接信息中传递的上下文
public class MyContext : DbContext
public MyContext(DbConnection dbConnection, bool contextOwnsConnection)
: base(dbConnection, contextOwnsConnection)
我还引用了EF作为软件包,因此可以加载它。
<package id="EntityFramework" version="6.0.1" targetFramework="net45" />
但是我只是与Resharper核对过。 可以安全删除。 所以我没有对EF的代码引用。 仅作为环境负荷/包装参考。
我认为没有打破代码分离领域驱动的开发范式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.