实体框架如果存在,则插入或更新数据

时间:2017-10-09 19:42:30

标签: entity-framework

我是EF的新手。我需要添加数据,如果它不存在于db else update data.i有一个代码,但无法理解如何调用它。所以需要一个小例子告诉我如何使用AddOrModify来添加或更新我的员工数据。

以下代码执行数据库往返检查数据是否存在?

如何制作以下代码扩展方法?

public void AddOrModify<T>(T entity, string key) where T : class, IEntity
{
     using (var context = new MyContainer())
     {
         if (context.Set<T>().Any(e => e.MyKey == key))
         {
              context.Entry(entity).State = EntityState.Modified;
         } 
         else
         {
              context.Entry(entity).State = EntityState.Added;
         }

         context.SaveChanges();
     }
}

寻求示例代码的帮助。

1 个答案:

答案 0 :(得分:0)

通过这样做:

public void AddOrModify<T>(this DbSet<T> set, T entity, string key) where T : class, IEntity
{
    ...
}