私は、エンティティフレームワークのデータベースコンテキストクラスの基本クラスを作成しています。基本クラスではDbContextへのアクセスが必要で、派生クラスでは派生したDbContextへのアクセスが必要です。現時点では、私は次のコードを持っています:C#継承したキャストメンバ
public abstract class BaseClass: IDisposable
{
protected abstract DbContext BaseContext { get; }
public void Dispose()
{
if (BaseContext != null)
{
BaseContext.Dispose();
}
}
}
public class DerivedClass : BaseClass
{
DerivedContext context; // public class DerivedContext: DbContext
protected override DbContext BaseContext
{
get
{
return context;
}
}
}
正しいアプローチですか?
なぜそれをしますか?私はあなたが達成しようとしているものはhttp://www.castleproject.org/activerecord/のようなものだと思っています –