2016-03-01 64 views
0

审时度势: 我想删除,并使用实体框架从数据库更新项目。我想它一般使用LINQ to实体提供的数据库上下文,排ID被删除,要更新列,它应该被更新的值已经提供与我们实现。通用删除和更新使用实体框架

我如何能做到这一点一般。请指教。提前致谢。

+1

一听这话,你应该删除操作时=删除。现在是添加! – hazjack

+0

@hazjack根据的,我需要做的是相反的要求:) –

+0

请与我们分享你所到目前为止已经试过 – Eldho

回答

0

美好的一天,我不知道这个问题,但我会就如何做更新和删除一个想法

更新

using (var db = new DbContext()) 
{ 
    var tobeupdatedrow = db.TableNames.FirstOrDefault(b => b.Id== Id); 
    if (tobeupdatedrow != null) 
    { 
     tobeupdatedrow.tobeupdatedcolumn = "Some new value"; 
     db.SaveChanges(); 
    } 
} 

删除

using (var db = new DbContext()) 
{ 
    var tobedeletedrow = db.TableNames.FirstOrDefault(b => b.Id== Id); 
    if (tobedeletedrow != null) 
    { 
     db.TableNames.Remove(tobedeletedrow); 
     db.SaveChanges(); 
    } 
} 
1

你可以使用DAO对象像DB和你的代码之间的信息库,一些像这样的

public class Dao<T> : where T:class { 
    internal virtual DbSet<T> EntitySet { 
     get { 
      return DB.Set<T>(); 
     } 
    } 

    public void DeleteById(int id) { 
     T instance = FindById(id); 
     Delete(instance); 
    } 


    public void Update(T instance) { 
     DB.Entry(instance).State = EntityState.Modified; 
     DB.SaveChanges(); 
    } 
} 

并使用代码

Dao<someClass> daoClass = new Dao<someClass>(new dbContext()); 
daoClass.DeleteById(5); 
daoClass.Update(someClass);