【发布时间】:2011-09-06 03:39:44
【问题描述】:
我正在使用 EF 4.1 做一些工作,我想对 3 个表执行批量更新(为了实现软删除)。通过一些快速研究,看起来直接 SQL 查询是最好的。我的实现如下,我希望得到一些关于这是否是最佳实践的反馈。感谢您的帮助...
using (var scope = new TransactionScope())
{
using (var db = new TimeCatchDb())
{
db.Database.ExecuteSqlCommand("UPDATE EmployeeRecords SET Deleted = 1 WHERE NoteTypeId = @p0", new SqlParameter { ParameterName = "p0", Value = id});
db.Database.ExecuteSqlCommand("UPDATE Notes SET Deleted = 1 WHERE NoteTypeId = @p0", new SqlParameter { ParameterName = "p0", Value = id });
db.Database.ExecuteSqlCommand("UPDATE NoteTypes SET Deleted = 1 WHERE Id = @p0", new SqlParameter { ParameterName = "p0", Value = id });
}
scope.Complete();
}
【问题讨论】:
-
为什么不使用存储过程呢?
-
没有存储过程,需要维护的地方就更少了
标签: entity-framework transactions batch-file