【发布时间】:2014-07-20 19:00:42
【问题描述】:
在 Entity Framework 6 中使用(重用)事务的最佳方式是什么。 用例: 如果我们有两种方法
public decimal Withdraw(string accNum, decimal amount)
{
using (var db = new MyDbContext())
{
var query = from t in db.MoneyTransactions
where t.AccountNumber.Equals(accNum)
select t;
MoneyTransaction mt = query.First();
mt.Amount -= amount;
db.SaveChanges();
}
return amount;
}
public void Put(string accNum, decimal amount)
{
using (var db = new MyDbContext())
{
var query = from t in db.MoneyTransactions
where t.AccountNumber.Equals(accNum)
select t;
MoneyTransaction mt = query.First();
mt.Amount += amount;
db.SaveChanges();
}
}
我想单独使用这些方法(例如,将钱存入账户)并在单个交易中使用它们:
public void Transfer(string srcAcc, string destAcc, decimal amount)
{
Withdraw(srcAcc,amount);
Put(destAcc,amount);
}
【问题讨论】:
标签: c# .net entity-framework