我有這段代碼。如何做清理?
創建上下文的新實例的基類。
public class Base
{
private Entities context;
public Base()
{
context = new Entities();
}
}
而且比從這個類繼承的類。
public class SomeService : Base
{
public Gallery Get(int id)
{
return context.GallerySet.FirstOrDefault(g => g.id == id);
}
}
問題是,如何照顧配置上下文對象?我正在考慮在基類中的析構函數,我只需要調用上下文對象的dispose方法。
~Base()
{
context.Dispose();
}
會這樣嗎?或者還有其他方式來照顧上下文對象嗎?
這有一定道理,你說怎麼樣IDisposable.But與上面的方法,我想擺脫使用在這樣 每一個方法調用使用的(實體上下文=新的實體()){ .... } SomeService類會有很多使用上下文對象的短方法。在每種方法中重複使用方法都是針對SOLID principe。 – user137348 2009-11-20 10:29:23
儘管你仍然需要使用語句。例如,您不需要每個SomeService方法中的using語句 - 上下文可以傳遞到方法中。 – 2009-11-20 10:40:48
同意@Jon。看看[這篇文章] [1]。 請注意,即使該文章按照通用設計模式(一次性模式) [1]進行分類,標題爲實現完成並處置以清理**非託管資源**:http://msdn.microsoft.com/ en-us/library/b1yfkh5e%28VS.71%29.aspx – 2009-11-20 11:18:53