日期:2014-05-17 浏览次数:20529 次
public int Save(ReDS ds)
{
Database db = DatabaseFactory.CreateDatabase();
// Insert and Update
DbCommand insertCommand = db.GetStoredProcCommand(INSERT);
DbCommand updateCommand = db.GetStoredProcCommand(UPDATE);
// Init DbCommand Object
DbCommandHelper.BuildDbCommandParameter(db, insertCommand, ds.Requisition, DataRowVersion.Current);
DbCommandHelper.BuildDbCommandParameter(db, updateCommand, ds.Requisition, DataRowVersion.Current);
// Execute
if (this.dbTransaction != null)
return db.UpdateDataSet(ds.GetChanges(), ds.Requisition.TableName, insertCommand, updateCommand, null, (DbTransaction)this.dbTransaction);
else
return db.UpdateDataSet(ds.GetChanges(), ds.Requisition.TableName, insertCommand, updateCommand, null, UpdateBehavior.Transactional);
}
------解决方案--------------------
楼上说的用的 LINQ 可以,那是懒蛋的人写法,
存储过程里可以用事物包含多个UPDATE,你可以吧 条件 和 字段作为动态生成处理。
这样 可以是通用更新。
还有就是 逻辑上的事情 不是代码多少可以决定的。
------解决方案--------------------
通用的东西必定造成效率的低下。。。你说传一长串字符串来的快还是几个值来得快?