2016-03-01 4 views
0

Рассмотрите ситуацию: Я хочу удалить и обновить элементы из базы данных с помощью Entity Framework. Я хочу добиться его в общем случае с помощью LINQ для объектов, предоставляющих контекст базы данных, идентификатор строки, подлежащей удалению, обновляемый столбец и значение, для которого оно должно быть обновлено, уже доступно у нас.Общее удаление и обновление с использованием Entity Framework

Как я могу сделать это в общем. Пожалуйста посоветуй. Заранее спасибо.

+1

Замечание, вы должны удалить при работе = удалить. Теперь это Добавить! – hazjack

+0

@hazjack По требованию мне нужно сделать противоположное :) –

+0

Пожалуйста, поделитесь нами, что вы пробовали до сих пор – Eldho

ответ

0

Добрый день, я не уверен, что вопрос, но я дам представление о том, как сделать обновление и удаление

Update

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 объект как репозиторий между БД и вашим кодом, некоторые вроде этого

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); 
Смежные вопросы