C# Database.Designer.cs不从设计器模式(实体框架)进行更改

C# Database.Designer.cs不从设计器模式(实体框架)进行更改,c#,entity-framework,C#,Entity Framework,我正在做一个复杂的项目,不允许我做一个简单的“从数据库更新模型”。我在一个表中添加了一列,我们称之为ContactPhoneNumbers,这里的问题是,我们有100多个不同版本,针对不同的公司有不同的模式(因此,我无法从数据库更新我的模型)。我创建了一个脚本,并成功地将新列扩展添加到每个表中。我正在手动尝试将列添加到.csdl、.msl和.ssdl文件中,并将它们添加到designer和designer.cs代码隐藏文件中。我一直在说一个错误 MetadataWorkspace中不存在作为此M

我正在做一个复杂的项目,不允许我做一个简单的“从数据库更新模型”。我在一个表中添加了一列,我们称之为
ContactPhoneNumbers
,这里的问题是,我们有100多个不同版本,针对不同的公司有不同的模式(因此,我无法从数据库更新我的模型)。我创建了一个脚本,并成功地将新列
扩展添加到每个表中。我正在手动尝试将列添加到.csdl、.msl和.ssdl文件中,并将它们添加到designer和designer.cs代码隐藏文件中。我一直在说一个错误

MetadataWorkspace中不存在作为此MSL一部分指定的列“扩展名”。

我已手动将该列添加到上述每个.xxdl文件的所有必需区域,并将其添加到设计器的代码隐藏文件中,但每次我在designer.cs文件中单击save the constructor时,都会删除我设置扩展列的手动行

这个

 public static ContactPhoneNumber CreateContactPhoneNumber(global::System.Guid contactPhoneNumberId, global::System.Guid contactId, global::System.String phoneNumber, global::System.String phoneNumberType, global::System.String extension)
    {
        ContactPhoneNumber contactPhoneNumber = new ContactPhoneNumber();
        contactPhoneNumber.ContactPhoneNumberId = contactPhoneNumberId;
        contactPhoneNumber.ContactId = contactId;
        contactPhoneNumber.PhoneNumber = phoneNumber;
        contactPhoneNumber.PhoneNumberType = phoneNumberType;
        contactPhoneNumber.Extension = extension;
        return contactPhoneNumber;
    }  
变成这样

public static ContactPhoneNumber CreateContactPhoneNumber(global::System.Guid contactPhoneNumberId, global::System.Guid contactId, global::System.String phoneNumber, global::System.String phoneNumberType)
    {
        ContactPhoneNumber contactPhoneNumber = new ContactPhoneNumber();
        contactPhoneNumber.ContactPhoneNumberId = contactPhoneNumberId;
        contactPhoneNumber.ContactId = contactId;
        contactPhoneNumber.PhoneNumber = phoneNumber;
        contactPhoneNumber.PhoneNumberType = phoneNumberType;
        return contactPhoneNumber;
    }  
我认为这就是为什么我会出现这个错误,因为我相信设计器文件是负责metadataworkspace的。这是我的设计器文件(从不更改)


如何手动使对象模型与概念模型、存储模型和映射模型匹配?找到了解决方案。这似乎是一个挑剔的过程。为了让我的更改被项目接受,我不得不从web prokect/bin和app_data文件夹中删除我的csdl和msl文件。之后,必须立即清理和重建解决方案