Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么不';不支持IoC容器_.net_Entity Framework_Nhibernate_Design Patterns_Inversion Of Control - Fatal编程技术网

.net 为什么不';不支持IoC容器

.net 为什么不';不支持IoC容器,.net,entity-framework,nhibernate,design-patterns,inversion-of-control,.net,Entity Framework,Nhibernate,Design Patterns,Inversion Of Control,这个问题有很多部分: 有没有支持使用IoC容器的.NET ORM 若否,原因为何 这难道不会迫使一个热爱领域驱动设计的人(我吗 包括)以在域中使用大量服务类 模型使所有域对象成为纯数据结构,没有任何行为(不知道这是否真的是一件坏事),或者使用方法或属性注入更糟糕 是否有任何方向支持国际奥委会集装箱 未来 对于NHibernate,是的,可以注入依赖项。但对于实体框架,我不是100%确定 亚硝酸铵 关于NHibernate,已经有很多类似的问题了 为了总结这些答案,可以使用将依赖项注入到PO

这个问题有很多部分:

  • 有没有支持使用IoC容器的.NET ORM
  • 若否,原因为何
  • 这难道不会迫使一个热爱领域驱动设计的人(我吗 包括)以在域中使用大量服务类 模型使所有域对象成为纯数据结构,没有任何行为(不知道这是否真的是一件坏事),或者使用方法或属性注入更糟糕
  • 是否有任何方向支持国际奥委会集装箱 未来

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

    亚硝酸铵 关于NHibernate,已经有很多类似的问题了

    为了总结这些答案,可以使用将依赖项注入到POCO中

    实体框架
    对于实体框架,我理解EF4.0以后的版本可能会用到,请参阅博客文章。这种方法的主要缺点似乎是不适用于延迟加载。

    这是一个好问题,但不适用于StackOverflow的问答格式。这很可能会引起讨论,但没有真正的答案。也许你可以把它变成一个可以回答的问题,告诉你所面临的具体编程问题,你似乎无法用IoC+ORM解决。另外,您应该知道,还有更多关于实体和依赖项注入的问题。像这样:@GertArnold谢谢你的反馈。我没有面临任何实际的具体问题,我问这个问题是因为它时不时地出现在我的脸上。你提到的问题也很好,与我的问题也有很大关系。相关:@Steven,确实是一个非常相关的链接,它解决了我问过的同样的问题,我觉得作者提出的解决方案有点方法注入(这是我不太喜欢的,因为它的扩展性不太好)。但这确实是一篇很好的文章。@Sniffer:如果方法注入不能很好地扩展,那么可能是您在实体中注入了太多内容。我相信作者确实解决了这个问题。我选择这个作为正确答案,因为它解决了我在列表中的第一个问题,否定了所有其他问题。但是对于这个问题我有一些遗憾,因为我应该问“应该”而不是“为什么”,为此我建议所有阅读本文的用户查看史蒂文在对这个问题的评论中提到的那篇伟大的文章。