1
 MydatabaseDataContext MyDB = new MydatabaseDataContext();

 Employee MyEmp = new Employee();
 MyEmp.EmpID = 5039;
 MyEmp.EmpName = "XXX";
 MyDB.Employees.InsertOnSubmit(MyEmp);
 MyDB.SubmitChanges();

 IQueryable<Employee> _DeleteQuery = from dq in MyDB.Employees where dq.EmpID == 5039 select dq;
 foreach (Employee delete in _DeleteQuery)
 {
      MyDB.Employees.DeleteOnSubmit(delete);
 }
 MyDB.SubmitChanges();

 IQueryable<Employee> _UpdateQuery = from uq in MyDB.Employees where uq.EmpID == 5039 select uq;

 foreach (Employee Update in _UpdateQuery)
 {
     Update.EmpName = "yyy";
 }
 MyDB.SubmitChanges();

上記のコードを使用すると、レコードを挿入、削除、および更新できます。挿入、削除、および更新が正常に終了した場合、「挿入、削除、および更新が正常に終了しました」のようなメッセージを表示する必要があります。

ADO.NET では、int 値 (1) が返されます。しかし、linq to sql の概念でそのような値を取得する方法がわかりません。

その値を取得すると、上記のメッセージを表示できます。じゃあそのためにはどうすればいいの

4

1 に答える 1

2

DataContext.GetChangeSet Methodを見てください。ChangeSet.ToString()のようなメッセージが表示されます

{挿入: x、削除: x、更新: x}

プロパティに直接アクセスすることもできます

int itemsToAddBeforeSubmitChanges = MyDB.GetChangeSet().Inserts.Count;
MyDB.SubmitChanges();
int itemsToAddAfterSubmitChanges = MyDB.GetChangeSet().Inserts.Count;
于 2012-07-01T08:55:57.427 に答える