我正在使用nuget的最新实体框架,但是当DB更改时,实体映射仍然无法正常工作。我正在做的程序:
还有一些其他方案无效,数据库更改未反映到实体模型。我已经阅读了一些文章,并认识到这些可能已知问题。但是,是否有解决这些问题的通用解决方案?现在我必须手动更改实体模型源代码中的数据类型。是否有一些配置更改可以帮助实体同步更准确?
答案 0 :(得分:0)
我发现Visual Studio当然能够检测到已更新的列的数据类型不匹配。这就是我在"错误列表"中看到跟随错误的原因。窗口如下。我在我的数据库的Int
表中将Salary列的数据类型从nchar(10)
更改为Employee
:
Error 2019: Member Mapping specified is not valid. The type 'Edm.Int32[Nullable=False,DefaultValue=]' of member 'Salary' in type 'DbFirstTpccModel.Employee' is not compatible with 'SqlServer.nchar[Nullable=False,DefaultValue=,MaxLength=10,Unicode=True,FixedLength=True]' of member 'Salary' in type 'DbFirstTpccModel.Store.Employee'.
因此,要通过更新模型向导解决此问题,通过该向导检测数据类型更改,最好从模型设计器中删除相应的实体,然后通过更新模型向导重新添加表。