我开始在目前正在使用NHibernate和Sql Server以及MVC的应用程序中使用Mongodb。
我喜欢远离胖控制器并开始向我的实体推送更多逻辑。
因此,我喜欢在从mongodb获取服务时为我的实体注入服务。
这可以通过NHibernate中的监听器来完成,但是在C#驱动程序中是否有这样的机制可以用来在MongoDB中实现这一点?
干杯, 拜伦
答案 0 :(得分:0)
将更多逻辑推入我的实体
这是一个坏主意,因为这违反了Single Responsibility Principle,将数据与行为混合(这使代码难以测试),并且由于实体通常是短暂的,因此通常不能通过DI解析容器
相反,将逻辑从控制器移动到服务层。特别是commands和queries可以是一个很好的解决方案,或者至少让服务类包含所有业务逻辑。
以下是Mark Seemann关于实体逻辑的great answer。