旧的 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 简易教程-------领域类的配置