c#-数据库优先和区域
作者:互联网
我目前正在处理一个包含30多个表的数据库,其中包括用户,学生,老师,学校,招生,课程,日历,活动,CollegeTeam,MusicBand等.我希望与Areas一起工作以便更好地组织应用程序,但是我的问题是:我应该将实体保留在相应的Area模型还是Main Application Model文件夹中?如果在对应的Area Model文件夹中分配Entities,如果使用ViewModel方法,如何将数据传递到视图?例如.是否在学生区内为对大学音乐乐队感兴趣的学生创建注册视图?
解决方法:
最佳实践之一是将所有域模型外部化为一个不同的项目(新的C#类库).为了加强代码维护,您还可以在解决方案中创建另一个类库,即您的数据访问层. DAL项目将引用Domain Model项目,以实现针对模型的每个类的数据访问操作(这些操作基本上是CRUD操作:创建读取更新和删除). DAL项目可以拆分为存储库(域模型中每个类的存储库:http://msdn.microsoft.com/en-us/library/ff649690.aspx)如果您的需求超出了对域模型的CRUD操作的要求,则可以在应用程序中创建另一层:向服务层问好:D因此,从根本上说,服务层是客户需求的一种体现.服务可以使用存储库(由DAL项目定义),以实现已定义的需求.一旦实现了服务层,就可以从进入Web项目的控制器中调用它(或者,如果您未选择在应用程序体系结构中添加服务层,则可以引用DAL项目).
因此,使用这种方法,您将使用干净且更好的应用程序体系结构.如果要使用每个项目,请不要忘记包含对每个项目的引用.
希望这可以帮助.
标签:asp-net-mvc-4,asp-net,c,asp-net-mvc 来源: https://codeday.me/bug/20191122/2058765.html