排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备:
50010702506256
        
    
50010702506256
        
        
            欢迎加群交流技术
        
    
    
    分类:
    .NET Core
有时候我们需要把一个其他对象的属性赋值到ef中的实体实现更新与添加,如果一个一个的去点出来赋值有点麻烦,就可以借助ef中的CurrentValues.SetValues方法,虽然我们可以使用反射来实现这个功能,既然ef自己提供了我们可以用一下
实现添加:
public int WriteArticleEvaluate(DTO_ArticleEvaluate_Token dTO_ArticleEvaluate_Token)
{
    ArticleEvaluate articleEvaluate = new ArticleEvaluate();
    //利用CurrentValues.SetValues方法给articleEvaluate对象复制
    ef.Entry(articleEvaluate).CurrentValues.SetValues(dTO_ArticleEvaluate_Token);
    //指明articleEvaluate对象需要添加到数据库
    ef.ArticleEvaluate.Add(articleEvaluate);
    return ef.SaveChanges();
}实现更新:
public int UpdateAtricle(Article article)
{
    //先把需要更新的从数据库查询出来
    Article update = context.Article.Where(a => a.Id == article.Id).FirstOrDefault();
    //把需要改变的字段赋值
    context.Entry(update).CurrentValues.SetValues(article);
    return context.SaveChanges();
}这个是先查询的方法更新,如果想要不查询的更新方法可以参考:
http://www.tnblog.net/aojiancc2/article/details/3278
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价