似乎MVC3和EF4.1的大部分焦点都围绕着“代码优先” - 我似乎无法找到符合以下条件的示例或教程:
是否存在这样的示例或教程?是否有任何关于如何实现这一目标的“最佳实践”,或者没有以这种方式构建解决方案的理由?
答案 0 :(得分:5)
这是很常见的情况,它取决于您是否要使用EDMX文件进行映射,或者您是否希望在代码中定义映射(如代码优先)。
这两种方案都可以作为数据库优先完成
这两种方法都不会添加数据注释。除非您正在执行非常简单的应用程序,否则不应将实体上的数据注释用于客户端验证(这是不好的做法)。通常,您的视图具有更高级的期望,并且视图中的验证可能与实体不同。例如,插入视图和更新视图可能需要不同的验证,并且无法使用实体上的单组数据注释执行它。因此,您应该将数据注释移动到专门的视图模型,并将实体转换为视图模型,反之亦然(您可以使用AutoMapper来简化此操作)。
无论如何,通过好友课程它是possible to add data annotations to generated classes,但如上所述,这不是一个好习惯。