2016-03-01 70 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);