gpt4 book ai didi

entity-framework - Entity Framework 5 命名空间

转载 作者:行者123 更新时间:2023-12-04 09:52:37 26 4
gpt4 key购买 nike

我想首先将 Entity Framework 5 数据库添加到 Visual Studio 2012 中面向 .net framework 4.5 的类库中。我对我需要输入的所有标签感到困惑:

  • 将 ADO.NET 实体数据模型添加到项目时的 EDMX 文件名。我放了“MyEF.edmx”。
  • 将连接字符串保存到配置文件中时。我放了“我的实体”。
  • 在选择了一些表以包含在我的模型中后,有一个文本框可以输入模型命名空间。我放了“我的模型”。
  • MyEF.edmx 文件的属性“自定义工具命名空间”。我放了“TheEF”。
  • MyEF.Context.tt 文件的属性“自定义工具命名空间”。我放了“TheContext”。
  • MyEF.tt 文件的属性“自定义工具命名空间”。我放了“TheModel”。

  • 用ADO.NET实体数据模型设计器打开MyEF.edmx,查看MyModel的属性,有:
  • 实体容器名称,填写“MyEntities”。所以连接字符串名称在这里。
  • 命名空间,填充为“MyModel”。这是来自表格选择文本框。

  • 将一些东西放入 edmx 自定义工具命名空间似乎没有任何作用。我得到这个结论是因为当我 grep 整个源代码文件夹时,我只在一个 vbproj 文件中找到了它。

    将“TheModel”放入 MyEF.tt 自定义工具命名空间会从 MyEF.Context.vb 中产生错误,提示未定义类型“MyTable”(这是我的数据库表的名称)。

    有人可以解释每个标签的用途吗?

    如果我想把这个 edmx 生成的所有类(DbContext、模型等)放到一个命名空间“MyEF”中,我应该在每个地方放什么?

    最佳答案

    各种属性的使用如下:

  • EDMX 文件名 --> 用于 EDMX 文件名
  • 连接字符串名称 --> 用于配置文件中的连接字符串名称,也用于 EDMX 的概念模型 (CSDL) 部分的容器名称
  • 模型命名空间 --> 用于 EDMX 的概念模型 (CSDL) 部分的命名空间,也用于附加了 .Store 的商店模型 (SSDL) 部分
  • EDMX 文件的自定义工具命名空间 --> 我认为在使用 POCO 实体的 T4 代时,这不会用于任何事情。使用 EF1 样式的内置代码生成时,设置此属性将为所有生成的文件设置 .NET 命名空间。
  • .Context.tt 文件的自定义工具命名空间 --> 上下文源文件中使用的 .NET 命名空间
  • .tt 文件的自定义工具命名空间 --> 实体源文件中使用的 .NET 命名空间

  • 请注意,如果您将 .Context.tt 和 .tt 自定义命名空间设置为不同的东西,那么上下文将在与实体类型不同的命名空间中生成,并且这不会立即编译。如果你想在这里使用不同的命名空间,你可以更新 .tt 文件,但更多情况下人们只是为两者使用相同的命名空间。

    另请注意,在更改属性后,您可能需要从每个 .tt 文件的上下文菜单中选择“运行自定义工具”,以便重新生成代码。

    关于entity-framework - Entity Framework 5 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14561370/

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