LinqtoSqlは初めてです。シナリオがあります。2つのテーブルがあります。MasterTableおよびDetailTableテーブル。私がやろうとしていることは:
DetailTableに新しい行を挿入し、DetailTableの行に基づいて、1つのトランザクションでマスターを更新しようとしています。
これが私のコードです:
DBContext context = new DBContext();
context.Connection.Open();
context.Transaction = context.Connection.BeginTransaction();
DetailTable detail = new DetailTable();
detail.Amount = 100;
var detailTable = context.GetTable<DetailTable>();
// pass in the object with insert on submit
// and then submit changes
detailTable.InsertOnSubmit(detail);
var result = (from Total in context.MasterTable
select Total).Sum();
decimal total = (decimal)result; // This total is not the latest.
// UpdateMaster.....
// ................
context.SubmitChanges();
context.Transaction.Commit();
今私が直面している問題は、MasterTableから最新のSumを取得していないことです。金額100の新しい行を挿入した後のように、600を取得する必要があるが、500を取得しているとします(新しい行を挿入していないかのように行を合計します)。Linq to Sqlを使用してこれが可能かどうかを教えてください。それが可能である場合、または不可能なことを達成しようとしている場合。