簡體   English   中英

使用實體框架進行常規刪除和更新

[英]Generic delete and update using Entity Framework

考慮以下情況:我想使用實體框架從數據庫中刪除和更新項目。 如果數據庫上下文,要刪除的行的ID,要更新的列以及應將其更新為的值,我們已經可以使用LINQ對實體進行通用化實現。

我該如何做。 請指教。 提前致謝。

您可以在數據庫和代碼之間使用諸如存儲庫之類的DAO對象,像這樣

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);

美好的一天,我不確定這個問題,但是我將給出有關如何進行更新和刪除的想法

更新資料

 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();
    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM