奕玖科技 > 新闻中心 > 技术文章

c#使用efcode只更新部分字段的方法

来源: 奕玖科技 Fly | 2023/12/5 0:03:37

假设我们有一个数据库表(User),现在需要更新两个字段(Username,Tel),。现在我们使用EfCode来进行更新操作是不是如下代码?

Var models = new User() { 
  Username="测试数据",
  Tel=xxxxxx
};
entity.User.Update(models);
entity.SaveChanges();


在假设,如果这个User里有100个字段,那么上面代码会直接更新这100个字段,虽然大部分的情况下不影像什么结果。但做为有程序洁癖的我们来说,必须要上性能最佳的SQL语句。那么如何优雅的只更新Username和Tel这个字段呢?好把,现在开始修改上诉的代码

var models = new User() { 
  Username="测试数据",
  Tel=xxxxxx
};
entity.Set<User>().Update(Username).State = EntityState.Unchanged;
entity.Entry(model).Property(b => b.Username).IsModified = true;
entity.Entry(model).Property(b => b.Tel).IsModified = true;
entity.SaveChanges();

OK,我们可以通过SQL语句的跟踪如下图可以看到,还原成原生的SQL语句就只更新了需要的部分。

当然,上诉的图片跟我说的例子里的表和字段有冲突,但结果是不会变得,因为我的这个只需要更新State和Message两个字段。大家不要在意这些细节!

栏目导航
相关文章
文章标签
关于我们
公司简介
企业文化
资质荣誉
服务项目
高端网站定制
微信小程序开发
SEO排名推广
新闻动态
行业新闻
技术学院
常见问题
联系我们
联系我们
人才招聘
联系方式
Q Q:24722
微信:24722
电话:13207941926
地址:江西省抚州市赣东大道融旺国际3栋
Copyright©2008-2022 抚州市奕玖科技有限公司 备案号:赣ICP备2022010182号-1