使用脚手架连接到我的数据库(映射到视图)。对于同一个
DbContext
,我手动为存储过程添加了两个 DbSet。
第一个存储过程运行良好。在其中一个存储过程中,结果集包含两个同名的列(名为
text_content
)。创建存储过程的我的同事重命名了其中一列(因为相同的列名给我带来了错误)。之后我仍然遇到同样的错误:
System.ArgumentException:已添加具有相同键的项目。键:text_content
似乎
DbContext
无法识别数据库中所做的更改。如果我创建一个全新的项目(Blazor 服务器),再次使用脚手架(就像我对其他项目所做的那样),错误就会消失。
我正在使用 EF Core 7。
感谢您的帮助。
我尝试使用迁移,但似乎只有代码中所做的更改才能迁移到数据库,反之亦然,这是真的还是我在这里遗漏了一些东西?如何“将更改从数据库中拉出”到我的代码中?
您可以编辑存储过程 result.cs 并手动更改列名称并构建您的项目或右键单击您的项目并 选择逆向工程并单击“确定”并构建您的项目。