繁体   English   中英

在C#中使用带有Entity Framework的类对象更新记录

[英]Updating a record using a class object with Entity Framework in C#

我有一个包含许多字段的实体类。 为简单起见,我们假设该类的定义如下:

public partial class Branches
{

    public int num { get; set; }
    public string name { get; set; }
    public string street { get; set; }
    public string city { get; set; }

在我的API类中,我想定义一个函数来更新此类型的记录。 由于创建一个函数来分别更新每个字段对于我的应用程序来说似乎是相当大的开销,因此我决定定义一个函数来更新所有字段。 我可以按以下方式将函数接收的对象直接分配给用于更新的对象吗?

void updateBranch(Branches branch)
{
  using (var dbContext = new entitiesContext())
  {
    var result = dbContext.Branches.SingleOrDefault(b => b.num == branch.num);                                                
    if (result != null)
    {
      **result = branch;**                        
      dbContext.SaveChanges();
    }
  }
}

我正在使用Entity Framework 6.0版

是的,您可以通过以下代码使用它

void updateBranch(Branches branch)
{
    using (var dbContext = new entitiesContext())
    {
        dbContext.Branches.Attach(branch);
        dbContext.Entry(branch).State = EntityState.Modified;              
        dbContext.SaveChanges();
    }
}

当您将实体附加到DBContext时,实体框架会意识到该实例存在于数据库中,并将执行更新操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM