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



我已经创建了一个概念模型,并将其映射到存储模型。然后我一直在改变数据库,增加/改变/等字段。

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

我的问题是,当我去映射窗口,表下(左列),它仍然显示字段从存储模型,这是现在与我更新的DB不同步。

看来我需要更新存储模型,这样我才能在Mapping Window中选择正确的字段。但这怎么可能呢?还是有别的办法?

EDMX文件是一个XML文件,它是组成整个文件的3个不同部分的组合。如果您右键单击EDMX文件并选择"打开…"XML编辑器",您将看到3个不同的部分:

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

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

看看这个SO问题,我给出了关于CSDL, SSDL, MSL以及如何更新的更多细节。我还提供了这个工具的链接,它可能也会对你有所帮助。

注意,也可以生成CSDL, SSDL &MSL文件,而不是将它们嵌入到二进制文件中,通过将模型的"Meta Artifact Processing"属性更改为"Copy to Output Directory"。

最新更新