从实体框架6消费者中抽象出连接字符串

时间:2014-05-08 13:20:52

标签: c# entity-framework entity-framework-6

我认为这里更好的帖子是“从实体框架消费者中抽象实体框架”。我非常喜欢实体框架所做的事情以及它拥有的强大功能。我似乎无法解决的最大抱怨是,无论我添加多少抽象层,每个使用实体框架的项目都包含System.Data.EntityEntityFramework.SqlServer和基础EF层中的ConnectionStrings,否则在运行时会出错。

我附上的图片是我们在团队中试图分开关注的问题:

enter image description here

我不希望WebAPI,SignalR或Window Service需要将ConnectionStringsEntityFramework DLL添加到其图层。反正有没有完成这个?我一直在使用Repository模式,这对于测试非常有用,但是我仍然无法使用EF层而不包含多个EF工件!有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在我阅读帖子的底部之前,存储库将成为我的答案。编码"正确,"该模式有助于将代码与ORM技术分离("松散耦合")。理想情况下,您将拥有一个存储库,允许依赖类在不引用EntityFramework程序集的情况下调用它。在这种情况下,您还应该能够使用使用不同ORM的存储库替换存储库(例如NHibernat,OrmLite,Dapper等)。