实体模型框架未正确更新



我正在使用nuget的最新实体框架,但是当数据库更改时,实体映射仍然无法正常工作。我正在做的程序:

  1. 使用数据库表在代码中设置同步的实体模型。
  2. 更改表中某些字段的数据类型。
  3. 从数据库更新实体模型。
  4. 新数据类型不会更新。

还有一些其他方案不起作用,数据库更改不会反映到实体模型中。我已经阅读了一些文章,并认识到这些可能已经是已知问题。但是,是否有解决这些问题的通用解决方案?现在,我必须手动更改实体模型源代码中的数据类型。是否有一些配置更改可以帮助实体同步更准确?

我看到Visual Studio当然能够检测到更新的列的数据类型不匹配。这就是为什么我在"错误列表"窗口中看到以下错误的原因,如下所示。我将数据库中Employee表中"工资"列的数据类型从Int更改为nchar(10)

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'.
因此,要通过更新模型向导

来检测数据类型更改,最好简单地从模型设计器中删除相应的实体,然后通过更新模型向导重新添加表。

最新更新