我读过MVC5与EF6 DB第一教程。使用本教程,它将生成代码(控制器和视图)。
我在VS中创建了3个项目:
+ AdminWebSite
+ PublicWebSite
+ EntityFramework我问过,我应该在哪里实现业务逻辑,并共享多个网站(Admin & Public)?
业务逻辑可以包括:
编辑
错误,应该是3个项目,而不是3个解决方案,但应该是类似的情况,AdminWebSite和PublicWebSite都有添加EntityFramework作为参考。
编辑2
在MVC3之前,我将创建一个包含所有业务逻辑的类项目,以及Repository类。这样每个WebSite或WebServices都可以使用相同的业务逻辑(但我不确定这是否是最佳实践)。
但是,当使用MVC5迁移到EF6时,存储库和工作单元似乎就消失了。而且不想为每个表实现存储库,有些表只是为了直接CRUD而没有业务逻辑。
我希望这能澄清is Too broad。
发布于 2017-02-20 04:13:41
看看这个:http://dombrovsky.github.io/EntityHooks/
它看起来像一个设计用于使用EF6的框架。它应该允许您在某个事件发生时编写自定义业务逻辑,比如插入或更新记录时。
发布于 2017-02-20 04:19:15
您可以在解决方案下利用Projects。
我通常将数据库层放在单独的项目(类库/DLL)中,并让其他项目引用它。这样,您只有一个ORM (实体框架)的副本,简化了数据库模型中的任何更改。我还创建了一个数据库项目(如果是SQL服务器),它保存了实际的模式定义,包括表和存储过程。这是对模式进行更改并进行部署的一种很好的方法。
任何时候,只要代码中有足够大的部分可以重用,通常都可以将其作为类库,并让客户端项目引用它。
发布于 2017-02-20 04:59:02
一种解决方案包括网络项目、、项目DAL项目,Web项目包含发布和管理。
https://stackoverflow.com/questions/42336354
复制相似问题