私への適切な方法が何であるかはよくわかりませDispose
んObjectContext
。セットアップ方法は次のとおりです。
public abstract class DataManagerBase<T> where T:ObjectContext
{
protected T _context = null;
public string Message { get; set; }
public DataManagerBase(T context)
{
_context = context;
}
}
これを他のクラスで使用するには、次のようなことをしています。
public class Test : DataManagerBase<DataEntities>
{
public Test(DataEntities context)
: base(context){}
public void InsertRecord(Person p)
{
if(_context != null)
{
try
{
//Do insert logic
}
catch(Exception ex)
{
}
}
}
}
同じ を使用する他のメソッドがあるため、ステートメント_context
を使用していないため、例外がスローされた場合に が null でないかどうかを確認してから破棄する必要がありますか? 基本的に、例外があるかどうかに関係なく、_context が処理されたときに確実に破棄されるようにしたいと考えています。aを everyに追加するのは正しくありませんか?using
_context
finally
try/catch
このメソッドを DataManagerBase クラスに追加してから、他のクラスで呼び出すとうまくいきます。
public void DisposeContext()
{
if (_context != null)
{
_context.Dispose();
}
}