考虑一下情况: 我想使用Entity Framework从数据库中删除和更新项目。我想一般使用LINQ实现它实现它提供了数据库上下文,要删除的行的ID,要更新的列以及它应该更新的值已经可用。
我怎么能一般地做到这一点。请指教。提前谢谢。
答案 0 :(得分:1)
您可以在数据库和代码之间使用 DAO 对象,例如Repository,有些像这样
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);
答案 1 :(得分: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();
}
}