c# - 数据库优先和区域

标签 c# asp.net asp.net-mvc asp.net-mvc-4

我目前正在处理一个包含 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/

相关文章:

c# - 当我尝试使用 visual c# 连接 SQL Server 时收到此错误消息

c# - 在 Windows 8 中处理方向

c# - 具有嵌套区域的 ASP.NET MVC4 应用程序

c#:这段代码会得到优化吗?

javascript - asp.net 中的 HTML 标记注入(inject)

sql - 在更新语句中具有选择子查询的嵌套 SQL 查询

c# - 使用非托管资源即发即忘

asp.net-mvc - 将模型验证移至服务类 - ASP.NET MVC

asp.net - 我的 ASP.Net 代码可以从 sendgrid 获得电子邮件已发送的确认吗?

c# - 在 ASP.NET 中保护 cookie