日期:2014-05-17 浏览次数:20451 次
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,你可以吧 条件 和 字段作为动态生成处理。
这样 可以是通用更新。
还有就是 逻辑上的事情 不是代码多少可以决定的。
------解决方案--------------------
通用的东西必定造成效率的低下。。。你说传一长串字符串来的快还是几个值来得快?