私の現在のプロジェクトでは、すべての値がアプリケーションで変更されたテーブルに書き込む必要があります。 Ex。男はUserNameを更新し、UserNameの古い値 "1"の新しい値 "2"をテーブルに入れる必要があります。EntityFrameWorkの変更を検出する
私はObjectStateEntryを使用しようとしましたが、これはすべてのフィールドを返します。私はFWが私のコードのためにすべてを返すと思う。
public USER Save(USER obj)
{
using(TPPTEntities db = new TPPTEntities())
{
db.Connection.Open();
USER o = (from n in db.USERs where n.ID == obj.ID select n).FirstOrDefault();
if (o == null)
{
o = new USER()
{
BruteForce = 0,
Email = obj.Email,
IsBlock = false,
LastLogin = DateTime.Now,
Name = obj.Name,
UserName = obj.UserName,
UserPassword = new byte[0],
};
db.AddToUSERs(o);
}
else
{
o.Email = obj.Email;
o.Name = obj.Name;
o.UserName = obj.UserName;
}
db.SaveChanges();
db.Connection.Close();
}
return obj;
}