2017-03-03 5 views
0

変更されたフィールドのみをログテーブルに保存しようとしています(これは2つのモデルを比較しています) "objectcontextインスタンスが破棄され、操作のために使用できなくなりました"他のテーブルとの関係を持つフィールド。どうしたらいいですか?ログ情報を保存する更新操作get "objectcontextインスタンスが破棄され、操作に使用できなくなりました"

あなたはDBContextを初期化するときに、あなたが開いたままと using statemtns以内にあなたの操作を行う必要があり、接続が開いている間、これを実行する必要が
foreach (PropertyInfo cur in newmodel.GetType().GetProperties()){ 
    try 
    { 
    var original = model.GetType().GetProperty(cur.Name).GetValue(model, null); 
    var current = newmodel.GetType().GetProperty(cur.Name).GetValue(newmodel, null); 
    if (original != null && !original.Equals(current)) 
     { 
     parameters += cur.Name + " : " + original + "Change to" + current + "<br>"; 
     } 
    } 
+0

あなたがEFを使用しています –

答えて

1

using (var context = new DBContext()) 
{  
    // Perform data access using the context 
}