抱歉,如果已经回答了这个问题,但经过 2 个小时的研究,我还没有找到这个问题的明确答案。希望询问会产生结果。
我在 MVC 和 EF 方面“比初学者要好一些”,但我确实了解整体应用程序架构。你看,为了更大的关注点分离和未来计划的更改,我想将我的 MVC 项目与实体框架分离。这是我到目前为止所拥有的:
我已经创建了我的存储库模式(在 DataAccess 项目中),并使用单独的 UnitTest 项目对其进行了测试。这一切都有效。
问题是,使用者(在本例中为 UnitTest 项目)仍然需要对实体框架的 nuget引用(与 MVC Web 项目相同)。当我从我的测试项目中删除 EF 引用时(而是在将它传递到我的 DataAccess 项目时硬编码我的连接字符串),我收到此错误:
未找到具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。
我如何设计它以便我可以从存储库使用者(UnitTest 或 MVC Web 项目)中完全删除实体框架引用?我想通过我的 Repository 做所有事情,而 MVC 项目对我的 ORM 技术一无所知。
c# architecture asp.net-mvc entity-framework repository-pattern