2013-04-10 96 views
0

我想实现MVC首次。我也读过很多博客和一本mvc书。现在,当我实现它,我想不出哪里把我的一些业务逻辑MVC 4 - 在保持业务逻辑

的我的域模型使用LINQ定义的SQL。我了解存储库模式用于将持久性添加到模型中。但是我无法决定把实际的业务逻辑放在哪里。例如有一个特定的模型需要在保存之前检查重复项。还有一些其他的逻辑决定了这个模型是否有资格被保存。你把这种逻辑放在哪里?我应该把它放入存储库吗?或者我应该在仓库之上插入一个业务层。

所以它看起来像

控制器 - >业务逻辑 - >库 - > DL

任何帮助是极大的赞赏。

+0

创建逻辑层和数据层3层项目 – 2013-04-10 03:40:52

回答

-1

如果项目不是太大,我一般把业务逻辑放到一个单独的项目在主项目。如果您有它设置已经或可以在DataContext的刚传入到助手消除冗余并让助手来简单地看一些情况和报告真或假的反应可以将其移动到存储库。

如果项目是非常大的,我会通常将数据移动到自己的项目,并引入数据访问层,如回购或类似允许客户端来获取数据,而数据的明确使命。

+0

感谢您的答复 - 所以在本质上我的控制器将调用业务逻辑? 控制器 - >业务逻辑 - >存储库 - > DL ??? – user1828125 2013-04-10 13:41:52

+0

我不确定最好的方式来说这个,但有很多关于堆栈溢出的问题,更多地讨论这个问题,你可以研究它可能措辞更好。就我个人而言,我的控制器使用业务逻辑来执行一些测试,但它并不需要通过业务逻辑来获取数据,实际上我通常会将数据上下文传递给业务逻辑并让逻辑执行功能。 – 2013-04-10 14:47:22