云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 使用Entity Framework 4进行代码优先开发

使用Entity Framework 4进行代码优先开发

  • 62 次阅读
  • 3 次下载
  • 2025/6/7 1:37:48

然后,我们可以在Global.asax加入Database.Initializer()方法以在启动时使用这个“NerdDinnersInitializer”类。

现在任何时候我们更新NerdDinner模型类,数据库文件都会被删除和重建以匹配我们的模型类,同时,两条默认餐会数据也会被添加到数据库中用以测试。

方便重构

上述的功能使我们非常容易地在开发时改进和重构代码——不需要用到任何工具和脚本去手动地保持数据库结构和代码的同步。

由于我们的模型类、LINQ表达式和“种子”测试数据都是强类型,所以我们也可以很快速地用Visual Studio的重构工具自动在代码文件中应用所有更改。

第六步: 加入验证规则

我们已经创建了一个简单但很好的数据服务应用程序。

但是,这里还是有一个问题,那就是我们还没有任何地方做数据验证以确保我们填入的数据库中的数据都是正确的。让我们来搞定它。

用DataAnnotations实现数据验证

在基于ASP.NET MVC的应用程序中,通常加入验证规则的地方最好是数据模型。这样,可以只在一个地方进行维护,同时也使强制任何与它交互的Controller和View的遵循它。在ASP.NET MVC中,你可以通过很多种机制去实现数据验证,它可以很灵活地支持你想要使用的任何验证机制。

ASP.NET MVC 2内置支持使用.NET类库中System.ComponentModel.DataAnnotations的验证规则库—你可以显式地在模型类中通过验证特性(Attribute)来使用验证规则。你可以在我之前发表的博客中了解这项功能的更多信息。我们将把这种方式的优势应用到我们的NerdDinner应用程序中的输入数据验证上面来。

让我们回过头,将一些数据验证的特性加入到我们之前定义好的Dinner类的属性当中去。(注意:我们同时要加入“using System.ComponentModel.DataAnnotations”命名空间。)

[Required] 验证指明这个属性的数据是必须指定的(非空的)。[StringLength] 指定了该属性允许输入的最大字符串长度。[RegularExpression] 验证指定了用以验证输入匹配的正则表达式(这里我们用以验证邮件地址)。 每一个验证特性都支持“ErrorMessage”属性,这使得我们可以指定验证失败时显示的错误消息。你既可以通过硬编码的方式(像上面一样)指定,也可以通过让它从一个资源文件里取得—可以很容易地实现本地化。 引入一些CSS和JavaScript文件

最后一步,我们将回到Create.aspx视图模板中,加入引用Site.css文件到项目中,同时也加入两个

Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com