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