实体框架5个命名空间(Entity Framework 5 namespaces)

2019-08-08 13:42发布

我想先加实体框架5数据库到类库在Visual Studio 2012针对.NET框架4.5。 我很困惑与我需要给关键的所有标签:

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

打开MyEF.edmx与ADO.NET实体数据模型设计,看着为MyModel的性质,主要有:

  • 实体容器名称,充满了“MyEntities”。 因此,在连接字符串名称放在这里。
  • 命名空间中,充满了“为MyModel”。 这是从表中选择文本框来。

把东西放到了EDMX自定义工具命名空间似乎并没有做任何事情。 我得到这个结论,因为当我用grep整个源代码文件夹,我发现它只能在vbproj文件。

把“TheModel”到MyEF.tt自定义工具命名空间从MyEF.Context.vb说类型产生错误“MyTable的”(这是我的数据库表的名字)没有定义。

有人可以解释每个标签的目的是什么?

如果我想把生成的所有类通过这一个EDMX(的DbContext,模型等)组合成一个命名空间,“MyEF”,我应该怎么把每个那些地方?

Answer 1:

各种性质的用法如下:

  • EDMX文件的名称 - >用于在EDMX文件名
  • 连接字符串名称 - >用于在配置文件中的连接字符串名称和EDMX的也为概念模型的容器名称(CSDL)部分
  • 模型命名空间 - >用于所述EDMX的概念模型(CSDL)部分的名称空间,并且还用于与.Store商店模型(SSDL)部分附加
  • 自定义工具命名空间,EDMX文件 - >我不相信这是使用T4代POCO实体时使用的任何内容。 当使用内置的代码生成EF1风格,设置该属性将设置.NET命名空间,所有生成的文件。
  • 自定义工具命名空间.Context.tt文件 - >在源文件中使用的上下文中的.NET命名空间
  • 自定义工具命名空间.TT文件 - >在源文件中用于实体的命名空间.NET

请注意,如果您设置.Context.tt和.TT自定义命名空间,以不同的东西,那么上下文将在不同的命名空间的实体类型产生,这将无法编译出的即装即用。 您可以更新.TT文件,如果你想在这里使用不同的命名空间,但更多的时候人们只需要使用相同的命名空间两个。

另外请注意,您可能需要为了改变性质的代码重新生成之后,从每个.TT文件上下文菜单中选择“运行自定义工具”。



文章来源: Entity Framework 5 namespaces