UI から送信されたオブジェクト (注文など) を使用してエンティティ Order を更新しようとしています。
私のメソッドには次のものがあります
Order neworder = new Order
{
ID = order.ID,
FirstName = order.FirstName,
LastName = order.LastName,
};
_bentities.Order.ApplyCurrentValues(neworder);
_bentities.SaveChanges();
エンティティ Order の null 非許容値をすべて入力すると、これは正常に機能します。ただし、変更されたプロパティはほとんどありません。これらの変更されたプロパティを更新したいだけです(変更されていないすべてのnull不可の値ではありません)
どうすればいいですか?
変更されたプロパティを次のように設定できることを読みました。
var entry = _bentities.ObjectStateManager.GetObjectStateEntry(((IEntityWithKey)neworder).EntityKey);
entry.SetModifiedProperty("FirstName");
entry.SetModifiedProperty("LastName");
ただし、これは何らかの理由で機能しません。EntityKey を null にすることはできないという例外が発生します。neworder のエンティティキーを設定するにはどうすればよいですか?