gpt4 book ai didi

c# - 数据库优先和区域

转载 作者:行者123 更新时间:2023-11-30 16:14:22 24 4
gpt4 key购买 nike

我目前正在处理一个包含 30 多个表的数据库,其中包括 User、Student、Teacher、School、Enrollment、Courses、Calendar、Activities、CollegeTeams、MusicBand 等。我想按顺序使用 Areas更好地组织应用程序,但我的问题是:我应该将实体保留在相应的区域模型上还是主应用程序模型文件夹中?如果将实体分布在相应的区域模型文件夹中,如果使用 ViewModel 方法,我将如何将数据传递给 View ?例如。如果在学生区内为对大学乐队感兴趣的学生创建注册 View ?

最佳答案

最佳实践之一是将所有域模型外部化到一个完全不同的项目(一个新的 C# 类库)中。为了增强您的代码维护,您还可以在您的解决方案中创建另一个类库,这将是您的数据访问层。 DAL项目会引用Domain Model项目来实现对你Model的每一个类的数据访问操作(这些操作基本上就是CRUD操作:Create Read Update and Delete)。 DAL 项目可以拆分为存储库(域模型中每个类的存储库:http://msdn.microsoft.com/en-us/library/ff649690.aspx)如果您的要求比针对域模型的 CRUD 操作更进一步,您可以在您的应用程序:向服务 层问好:D 所以基本上,服务层是客户需求的转录。服务可以使用存储库(在 DAL 项目中定义)来实现定义的要求。实现服务层后,您可以从进入 Web 项目的 Controller 调用它(或者如果您没有选择在应用程序体系结构中添加服务层,则可以引用 DAL 项目)。因此,使用这种方法,您将使用一个干净且更好的应用程序架构。如果你想使用它,不要忘记包括对每个项目的引用。希望这会有所帮助。

关于c# - 数据库优先和区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com