应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

利用EF中的对象赋值CurrentValues.SetValues实现更新与添加

9591人阅读 2020/3/1 13:22 总访问:5186212 评论:0 收藏:0 手机
分类: .NET Core

有时候我们需要把一个其他对象的属性赋值到ef中的实体实现更新与添加,如果一个一个的去点出来赋值有点麻烦,就可以借助ef中的CurrentValues.SetValues方法,虽然我们可以使用反射来实现这个功能,既然ef自己提供了我们可以用一下

实现添加:

  1. public int WriteArticleEvaluate(DTO_ArticleEvaluate_Token dTO_ArticleEvaluate_Token)
  2. {
  3.     ArticleEvaluate articleEvaluate = new ArticleEvaluate();
  4.     //利用CurrentValues.SetValues方法给articleEvaluate对象复制
  5.     ef.Entry(articleEvaluate).CurrentValues.SetValues(dTO_ArticleEvaluate_Token);
  6.     //指明articleEvaluate对象需要添加到数据库
  7.     ef.ArticleEvaluate.Add(articleEvaluate);
  8.     return ef.SaveChanges();
  9. }

实现更新:

  1. public int UpdateAtricle(Article article)
  2. {
  3.     //先把需要更新的从数据库查询出来
  4.     Article update = context.Article.Where(a => a.Id == article.Id).FirstOrDefault();
  5.     //把需要改变的字段赋值
  6.     context.Entry(update).CurrentValues.SetValues(article);
  7.     return context.SaveChanges();
  8. }

这个是先查询的方法更新,如果想要不查询的更新方法可以参考:

http://www.tnblog.net/aojiancc2/article/details/3278


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价