MVC5项目结构:不确定如何合并业务逻辑

时间:2014-12-29 06:39:57

标签: entity-framework-6 repository-pattern asp.net-mvc-5.2

以下是我目前的项目结构:

MyProject.Domain(Class Libary)

  • 抽象文件夹:包含ICustomersRepository
  • 具体文件夹:包含EFDbContext.cs和EFCustomer repository.cs
  • 实体文件夹:包含Customer.cs
  • 迁移文件夹:首先保存代码EFDbContext的迁移

MyProject.WebUI(MVC5) 引用MyProject.Domain并使用Ninject进行依赖注入。在CustomersController.cs中,我能够访问EFCustomerRepository核心数据库函数,例如SelectAll()

我的问题/疑虑解释 考虑到这种结构,我正在讨论是否需要业务逻辑类库。如果我要添加一个,我需要引用MyProject.Domain并将Ninject安装到BLL以访问域类型中的存储库函数,就像我目前在我的CustomersController中所做的那样。我也假设然后WebUI需要引用BLL,Ninject也会像现在一样安装到MyProject.WebUI。

我会离开这个: WebUI(Ninject) - >域

对此: WebUI(Ninject) - > BLL(Ninject) - >域

这有意义吗?另外,如果我不包括BLL类库,我会在WebUI项目中为所有业务逻辑创建类似Services文件夹的内容吗?

任何建议都会很棒。我非常接近理解用于MVC5的良好项目结构,但是想要一点澄清。

我遇到的另一个小问题是:当使用内置的MVC5身份验证时,我应该只使用自己的ApplicationDbConext,然后在我的域中为我的所有实体创建另一个EFDbConext?只是想知道是否值得以某种方式合并它们,所以我不必拥有2套迁移。

0 个答案:

没有答案