处理数据库CRUD功能ASP.net MVC3的最佳实践

时间:2012-08-27 01:37:07

标签: asp.net-mvc

我有计划在MVC 3上开发市场,我自己从ASP.net/MVC学习MVC

在我学习使用数据库的教程和示例中,通过在模型中定义属性和创建模型实体,可以轻松地使用EF完成CRUD功能。 (如果我错了,请忽略,因为我还在学习)

我最近雇用了一个程序员来编写项目代码。他通过编写SQl语句来建议数据库CRUD功能的方法,就像我们通过定义datamodel所做的那样。他说使用MVCMusicStore中的指定方法会在以后产生问题,如果有的话其他程序员将在Model属性中进行更改,它将更新数据库并可能出现问题。

我不了解使用MVC进行数据库交互的大型项目的最佳实践。

Plz建议。

3 个答案:

答案 0 :(得分:1)

ASP.NET MVC与实体框架无关。 Inded MVC并不关心您正在使用的数据访问方法。 MVC是一个开发Web应用程序的框架。它不担心数据访问方法。您可以使用Entity framework / LinqToSQL / NHinernate / ADO.NET等。

那里的示例项目通常在视图中使用Model类(您的域模型)。但是当您开始为项目编写代码时,您将理解需要将模型与在视图中使用以及为这些视图创建单独的POCO类分开。我们将其称为ViewModels。我们将这些ViewModel映射到两者之间的Domain模型。这给了我们更大的灵活性。但请记住,没有必要为每个模型使用ViewModel。只在必要时创建它们。

查看Repositary模式。在那里有你的数据访问方法。这些数据访问方法的实现可以使用任何数据访问方法(LINQ / EF等...)。使用EF的优势在于,您不需要自己编写大量代码。

答案 1 :(得分:0)

我喜欢EF Code First功能。当团队在系统的不同部分工作时,这是一个非常好的功能。您不需要每次都删除并重新创建所有数据库。有关EF初始值设定项的更多信息,请查看本文:http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm

答案 2 :(得分:0)

您应该首先了解实体框架代码。查看Scott Gu关于Code with Entity Framework的这篇博文:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

代码首先支持更改模型而无需完全重做数据库。