Linq2Sql を使用して行データを更新していますが、値を変更すると、以前にこの問題を調査したところ、次の考えられる理由が見つかりました。
- エンティティは変更されていないため、更新は発生しません
- エンティティに主キーがありませんが、更新は行われません
私の状況では、これらのどれも当てはまりません。
クラスとテーブルに PK があります。データ コンテキストの GetChangeSet() は、少なくとも 1 つの更新があることを示します。
私が見る唯一の問題は、データ コンテキスト ログから、更新ステートメントが生成されないことです。
問題が何であるかを知っている人はいますか。
コードのサンプルを次に示します。
using(context db=new context())
{
db.Log=new System.IO.StreamWriter(sample){AutFlush=true};
MyObject obj=db.MyTable.SingleOrDefault(row=>Email==email);
if(obj!=null)
{
obj.FirstName=firstName;
obj.LastName=lastName;
System.Data.Linq.ChangeSet set=db.GetChangeSet();
db.SubmitChanges();
}
}