首页 / C# / c# – 从MVC项目中删除实体框架参考
c# – 从MVC项目中删除实体框架参考
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 从MVC项目中删除实体框架参考,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1368字,纯文字阅读大概需要2分钟。
内容图文
![c# – 从MVC项目中删除实体框架参考](/upload/InfoBanner/zyjiaocheng/796/4ee05aa7b39a43e5979cd4c15e80770c.jpg)
如果已经回答道歉,但经过2个小时的研究后,我还没有找到这个问题的明确答案.希望询问会产生结果.
我使用MVC和EF“比初学者好”,但我确实了解整体应用程序架构.您可以看到,对于更大的关注点和未来计划的更改,我想将我的MVC项目与实体框架分离.这是我到目前为止所拥有的:
>模型项目(充满注释良好的POCO,作为容器,没有业务逻辑)
> DataAccess项目(引用我的模型项目和实体框架)
> MVC Web项目(仅引用我的Models项目)
我已经创建了我的Repository模式(在DataAccess项目中),并使用单独的UnitTest项目对其进行了测试.一切正常.
问题是,消费者(在这种情况下为UnitTest项目)仍然需要对Entity Framework的nuget引用(与MVC Web项目相同).当我从我的Test项目中删除EF引用时(而是在将其传递到我的DataAccess项目时硬编码我的连接字符串)时,我收到此错误:
No Entity Framework provider found for the ADO.NET provider with
invariant name ‘System.Data.SqlClient’. Make sure the provider is
registered in the ‘entityFramework’ section of the application config
file.
我如何设计这个,以便我可以从Repository使用者(UnitTest或MVC Web项目)中完全删除Entity Framework引用?我希望通过我的存储库完成所有工作,而MVC项目却不了解我的ORM技术.
解决方法:
这有点误导.首先,需要引用实体框架的原因是因为您将该库中的代码泄漏到MVC项目中.避免引用的唯一方法是100%隔离代码.这可能是可能的,但任何时候都不容易.但是,这并不重要.引用实体框架是没有意义的. N层设计的重要部分是隔离不同的功能,不一定是参考.如果您的DAL依赖于EF并且您的MVC项目取决于您的DAL,那么您对EF有固有的依赖性.
内容总结
以上是互联网集市为您收集整理的c# – 从MVC项目中删除实体框架参考全部内容,希望文章能够帮你解决c# – 从MVC项目中删除实体框架参考所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。