实体设计器/实体框架/ edmx - 仅更新存储模型(不是概念模型)

时间:2013-05-01 10:41:45

标签: .net entity-framework edmx edmx-designer entity-model

我创建了一个概念模型,并将其映射到存储模型。 然后我一直在更改DB,添加/更改/ etc字段。

我现在想要的是更新我的新数据库结构和概念模型之间的映射,但我不希望更新模型向导更改我的概念模型(甚至不添加字段 - 它会导致很大的混乱)。

我的问题是,当我转到映射窗口时,在表格(左栏)下,它仍然显示存储模型中的字段,现在与我更新的数据库不同步。

我似乎需要更新存储模型,因此我可以在Mapping Window中选择正确的字段。但这怎么可能呢?或者还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

EDMX文件是一个XML文件,它由3个不同的部分组成,构成了整个事物。如果右键单击EDMX文件并选择“打开方式... XML编辑器”,您将看到3个不同的部分:

  • <edmx:ConceptualModels>
  • <edmx:StorageModels>
  • <edmx:Mappings>

这些部分可以手动编辑,风险自负! : - )

看一下这个SO question,我在这里详细介绍CSDL,SSDL,MSL以及如何更新内容。我也提供了一个可以帮助你的工具的链接。

注意,也可以生成CSDL,SSDL和&amp;通过将模型的“元工件处理”属性更改为“复制到输出目录”,MSL文件而不是将它们嵌入到二进制文件中。