将依赖项注入mongodb实体

时间:2012-02-29 05:33:19

标签: dependency-injection mongodb-.net-driver

我开始在目前正在使用NHibernate和Sql Server以及MVC的应用程序中使用Mongodb。

我喜欢远离胖控制器并开始向我的实体推送更多逻辑。

因此,我喜欢在从mongodb获取服务时为我的实体注入服务。

这可以通过NHibernate中的监听器来完成,但是在C#驱动程序中是否有这样的机制可以用来在MongoDB中实现这一点?

干杯, 拜伦

1 个答案:

答案 0 :(得分:0)

  

将更多逻辑推入我的实体

这是一个坏主意,因为这违反了Single Responsibility Principle,将数据与行为混合(这使代码难以测试),并且由于实体通常是短暂的,因此通常不能通过DI解析容器

相反,将逻辑从控制器移动到服务层。特别是commandsqueries可以是一个很好的解决方案,或者至少让服务类包含所有业务逻辑。

以下是Mark Seemann关于实体逻辑的great answer