Lv.的博客

EF实体模型的更新

 

 

摘要 解决前期数据库优先添加的实体,然后数据库表结构发生变化后,导致代码操作EF插入更新数据失败问题

      相比大家在使用实体操作数据库的时候,都是采取数据库优先,手动添加实体模型。但是随着后期需求的更改和变化,数据库的结构都会有很大的变化。比如主键缺少和改变,字段的删减。都会导致EF操作失败。很多人都是采用直接将整个.edmx文件删除掉,然后重新加载。这样做太麻烦了。下面介绍更新模型的正确姿势。

      步骤一.双击.edmx文件,会出现所有模型的视图

点击空白处,右键,选择:从数据库更新模型选项,选择刷新或者添加删除。根据你自己的需求来。

     那么问题来了,你可能发现,即使这样做了,还是没有变化,该出错的地方还是错的。那么进行第二步动作。

    步骤二、右击空白处,选择“验证”选项。这样所有的更新都会得到验证。才会有效

 当然若果验证过程中,也有提示错误,如,字段没有得到映射等问题,那么进行步骤三。

   步骤三。找到出现映射无效的那张视图表,选中它

右键

选择表映射,然后选择与之相应的表,这样就完成了映射。如图

若果及时选择了对应的依然报错,提示主键冲突问题。那就是左右对应的主键不一致导致的。进行步骤四。

步骤四.选择对应的视图

右击,选择从模型中删除选项。然后重新选择从数据库更新模型,添加刚刚删除掉的表,即可。

posted @   Avatarx  阅读(6461)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2014-06-13 Linux(Debian) vps安装gnome桌面+VNC
2014-06-13 debian下Vnc
2014-06-13 oracle 直接客户端使用
2014-06-13 不安装oracle客户端也可以使用pl/sql developer
2014-06-13 JDK 7u60 版本发布下载安装
点击右上角即可分享
微信分享提示