gpt4 book ai didi

entity-framework - MVC3和EF数据优先: what are the best practices?

转载 作者:行者123 更新时间:2023-12-03 21:39:03 24 4
gpt4 key购买 nike

似乎MVC3和EF4.1的大部分关注点都围绕“代码优先”-我似乎找不到符合以下条件的任何示例或教程:

  • 使用现有的SQLServer数据库
  • 有用于Web和数据访问的单独项目(我们将有多个共享相同数据访问类的Web应用程序)
  • 验证建议

  • 是否存在这样的示例或教程?是否有任何记录的“最佳实践”用于实现此目标,或者是否有没有以这种方式构建解决方案的理由?

    最佳答案

    这是很常见的情况,它取决于您是要使用EDMX文件进行映射还是要在代码中定义映射(例如先编写代码)。

    两种情况都可以先作为数据库完成

  • 您将使用Visual Studio中的EF工具在现有数据库中创建EDMX,并使用DbContext T4生成器模板获取POCO类和DbContext派生类
  • 您将下载EF Power Tools CTP,并将使用其反向工程功能为您生成代码映射,POCO类和上下文

  • 这些方法都不会添加数据注释。除非您正在做非常简单的应用程序,否则不应将实体上的数据注释用于客户端验证(这是一种不好的做法)。通常,您的 View 具有更高的期望, View 的验证可能与实体上的验证不同。例如,插入 View 和更新 View 可能需要不同的验证,并且不可能在实体上使用一组数据注释来执行它。因此,您应该将用于验证的数据注释移至专用 View 模型,并将实体转换为 View 模型,反之亦然(可以使用 AutoMapper简化此过程)。

    无论如何,通过伙伴类将其设置为 possible to add data annotations to generated classes,但是如上所述,这不是一个好习惯。

    关于entity-framework - MVC3和EF数据优先: what are the best practices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585201/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com