3

这个问题有很多部分:

  1. 有没有真正支持使用 IoC 容器的 .NET 的 ORM?
  2. 如果没有,为什么不呢?
  3. 这不会迫使喜欢领域驱动设计的人(包括我)在领域模型中使用大量服务类,使所有领域对象都是纯数据结构而没有行为(不知道这是否真的很糟糕事情)或更糟的是使用方法或属性注入。
  4. 未来是否有支持 IoC 容器的方向。
4

1 回答 1

2

对于 NHibernate,是的,可以注入依赖项。但是对于实体框架,我不是 100% 确定的。

休眠

关于 NHibernate,在 SO 上已经有很多类似的问题了。

使用 Nhibernate (ASP.NET MVC + IOC) 将依赖项注入域模型类

使用 NHibernate 对象进行依赖注入

DI/IoC、NHibernate 并帮助他们一起工作

总结这些答案,可以使用Interceptors将依赖项注入您的 POCO 。

实体框架

对于实体框架,我了解 EF 4.0 及更高版本可能有可能,请参阅博客文章。这种方法的主要缺点似乎是它不适用于延迟加载。

于 2013-04-16T12:01:11.393 回答