我正在构建一组组件,我们称它们为服务,它们使用实体框架来访问它们的数据。这些组件旨在用于同一解决方案中的多个项目。我们希望这些组件尽可能地“独立”,这意味着我们希望在一项服务中将 Entity Framework 从 5 升级到 6,而将 EF5 留在另一项服务中。我们的解决方案可能如下所示:
Solution
+- Application1 (referencing ServiceA and ServiceB)
+- Application2 (referencing ServiceA and ServiceC)
+- ...
+- ServiceA - Dll Using Entity Framework 5
+- ServiceB - Dll Using Entity Framework 5
+- ServiceC - Dll Using Entity Framework 6
对于 Application1,我们没有问题,因为我们可以将 EF5 作为 nuget 包安装在其中,并让 ServiceA 和 ServiceB 都使用它,但是 Application2 呢?我无法想出在一个项目中同时拥有 EF5 和 EF6 的方法......那么配置呢?有没有办法只为 ServiceA 和 ServiceB 编写一次配置,而不必为使用它们的每个应用程序重复它?我宁愿避免制作 ServiceA 和 ServiceB 网络服务并保持模块之间的所有交互“进行中”。
先感谢您!