在我的数据库(SQL2008)中,我有一个客户表和一个国家/地区表(以及其他),并且在这些表之间根据“Country.Id - > Customer.CountryId”在数据库中定义了外键关系
我使用VS2010 RC创建了一个EF模型,并从数据库中构建了这个模型。生成模型时,我选择包含外键属性。
在构建模型之后,我在“Customer”对象中选择了许多属性,右键单击并选择“Refactor into New Complex Type”,我将其命名为“Address”。我选择的其中一个属性是CountryId属性(实际上,它是所有的地址属性,但我怀疑这很重要。)
现在,当我保存模型时,我收到上面显示的错误,“没有名称'CountryId'的属性在Role'Customer'引用的类型中定义。”我知道我打破了它,但我无法解决如何再次修复它。我可以告诉你,“Country”导航属性仍然存在于Customer对象上(可能应该将它包含在“Address”对象中,但是现在我已经创建了复杂类型,因此无法看到如何添加它。
我欢迎你的建议!
答案 0 :(得分:1)
我的建议:创建一个新模型,将其映射为“正确”,然后将CSDL和MSL的相关位复制到现有模型中。可能需要几次尝试才能做到这一点,所以先备份!