旧的 Code-First 模型在数据库中有字段,但在模型中没有

Posted

技术标签:

【中文标题】旧的 Code-First 模型在数据库中有字段,但在模型中没有【英文标题】:Old Code-First model has feilds in database but not in model 【发布时间】:2021-12-27 13:28:55 【问题描述】:

例如,数据库有字段

身份证、姓名、性别。

模型有:

ID 和名称。

数据库正在使用中,我想知道如何纠正这个错误。

【问题讨论】:

为什么你认为这是一个“错误”?它可能是一个未使用的列,但这并不意味着它是一个“错误”——它可能是故意的。答案似乎很明显:删除该列,使用该列,或者如果您不知道后果 - 不理会它。可能应该在修改数据库表之前与数据库所有者核实,并且您还应该确保您有一个有效的数据库备份。我确实注意到标题中“字段”的拼写错误 这是一个代码优先数据库,不知何故,数据库中有一个列正在使用,而 Visual Studio 的模型中没有,当查看模型中的类时,“性别”不存在迁移以外的代码 - 看起来它是手动添加到迁移中的 【参考方案1】:

如果您不使用该列,请删除该列。但请确保该列未被使用,并且在删除该列之前您有数据库的备份。这是从数据库中删除该列的 SQL 脚本:

ALTER TABLE [Table_name] DROP COLUMN [Gender]

【讨论】:

谢谢,我可以删除该列,但由于它正在使用,我不想这样做。

以上是关于旧的 Code-First 模型在数据库中有字段,但在模型中没有的主要内容,如果未能解决你的问题,请参考以下文章

EF Code-First(Oracle)通过Migration来更新数据库的表的字段

EntityFramework Code-First 简易教程-------领域类的配置

EFEF Code-First数据迁移

Code-First 数据库初始化策略

将相关数据添加到 Entity Framework 5 (Code-First) 中的交叉引用表

EntityFramework Code-First 简易教程-------领域类配置之Fluent API