如何在ASP.NET MVC3中从我的数据库自动生成DataValidation“Buddy”类?

时间:2011-02-07 04:46:12

标签: c# asp.net-mvc-2 entity-framework-4 asp.net-mvc-3 buddy-class

我有一个网站,其中包含直接从Entity Framework创建的对象生成的视图。阅读this blog by Scott GU之后,让DataValidation工作的最佳方法似乎是开始使用POCO对象。 (在链接上搜索Buddy Class这个词)

我可以以某种方式自动生成我的好友课程吗?或者我是在错误的脚上开始进军MVC?

1 个答案:

答案 0 :(得分:2)

  

或者我是否在错误的脚上开始涉足MVC?

我担心情况可能如此,以下句子证实了这一点:

  

我有一个网站,其中包含直接从实体框架

创建的对象生成的视图

您不应直接在视图中使用EF模型。视图模型被认为是一种好习惯。这些是专门针对给定视图的需求而设计的类,可以包含格式和验证。典型情况可能如下:

  1. 请求控制器操作
  2. 控制器查询存储库以获取模型(如果愿意,可以使用EF模型)
  3. 控制器使用映射层将此模型转换为视图模型(可以使用AutoMapper轻松实现)。
  4. 控制器将视图模型传递给视图
  5. 当控制器操作从视图接收视图模型,检查模型状态是否有效,将其映射回模型并将模型传递到存储库时,此方案也有效。