我的项目组织如下
- ASP.NET MVC 3 Web 应用程序
- Domain.Core - 接口 [库]
- Domain.Core.Entity - 实体 [库]
- Infrastructure.Core - 接口的实现 [库]
- Infrastructure.IoC - 使用 Unity 作为实现控制反转的手段 [库]
困境如下:
如果我要向我的 Domain.Core 中的接口添加通用方法,如下所示,我会收到一个编译错误,要求我在 Infrastructure.IoC 项目中添加对 Domain.Core.Entity 的引用。
T Get<T>(int Id) where T : EntityBase, new();
T 可以是继承自 EntityBase 的类 EntityBase 或 Blog,也可以是其他一些都继承自 EntityBase 的实体。这个想法是根据提供的子类返回一个实体,以便子类加载所有实现 EntityBase 的类所需的默认数据。
所以,问题有两个方面:
在 IoC 项目中不引用 Domain.Core.Entity 项目并保持清洁会更好吗?
我将如何实现上述目标而不必弄乱参考文献的清洁度?
谢谢你。
注意:我在这里浏览了一些问题来搜索这个主题,但没有看到任何问题。如果您确实看到它,请告诉我,我将删除此问题。