【发布时间】:2010-05-06 21:23:49
【问题描述】:
对于我认为简单的问题,我似乎找不到答案。我有一个刚刚创建的实体模型,我想手动设置表和列的名称。我可以看到“映射详细信息”,但如何编辑或添加?
【问题讨论】:
标签: entity-framework ado.net visual-studio-2010
对于我认为简单的问题,我似乎找不到答案。我有一个刚刚创建的实体模型,我想手动设置表和列的名称。我可以看到“映射详细信息”,但如何编辑或添加?
【问题讨论】:
标签: entity-framework ado.net visual-studio-2010
答案似乎是,你不能不进入 XML。您可以使用 Entity Framework Power Pack 自定义生成模板,但没有用于编辑映射的直接 GUI。
【讨论】:
我打开 edmx 文件所在的文件夹,查看其中的所有文件,并找到可能的解决方案。
Edit with Notepad++就会显示xml文件内容,也可以直接通过notepad.exe打开Edmx文件您会在文件的顶部看到类似这样的内容:
<EntityType Name="DataTableName">
<Key>
<PropertyRef Name="id" />
</Key>
<Property Name="DataColumn1" Type="bigint" Nullable="false" />
<Property Name="DataColumn2" Type="datetime" Nullable="false" />
<Property Name="DataColumn3" Type="nvarchar" MaxLength="255" />
<Property Name="DataColumn4" Type="nvarchar" MaxLength="255" />
</EntityType>
我要做的是删除DataColumn4,我首先在VS中打开Edmx文件,直接在VS UI中点击列名,然后在键盘上按Delete,你会发现在Mapping Detail Window,DataColumn4 属性右侧将为空,但左侧DataColumn4 仍然存在。
然后,使用步骤 1 打开 edmx 文件,删除步骤 2 中的属性并保存文件。
Remove--> <Property Name="DataColumn4" Type="nvarchar" MaxLength="255" />
重启visual studio,再次打开edmx你会发现DataColumn4消失了,我尝试连接DB并操作Data,工作正常。
【讨论】:
如果您在 Visual Studio 中打开了 .edmx 文件,您应该能够简单地右键单击表或表中的列并选择“重命名”。更改名称后,它将反映在“映射详细信息”窗口中。
【讨论】:
您可以轻松地编辑名称...只需单击“类图”中的名称(当已选择项目时)或中的表格表示edmx 文件并键入新名称。如果单击文本时文本没有被选中和编辑,您可以按 F2,标准的 Windows 键来重新命名对象。注意:您不能在映射窗口中编辑名称。
编辑名称后,您可以右键单击实体并选择“从模型生成数据库...”选项以更新数据库中的名称。
另外,请参阅this post 了解更多信息。
【讨论】:
这是适用于 VS 2010 的解决方案。如果您重命名条目,然后运行“从模型生成数据库...”两次。在第一次运行中,映射被调整,但你仍然得到一个(让我说“编译器”)错误。第二次运行,一切正常。
我只测试了两次。完美运行。
【讨论】: