2012-02-12 7 views
0

のIDbSet は、DbQueryとIDbSetから抽象クラスを作成することは可能ですか?私は単体テストのための抽象レイヤーを作成しようとしています。 DbQueryから抽象クラスを作成する方法<T> EntityFramework

public abstract class BaseDbSet<T> : DbQuery<T>, IDbSet<T> where T : Entity 
{ 
    #region IDbSet<T> Members 

    public abstract T Add(T entity); 
    public abstract T Attach(T entity); 
    public abstract TDerivedEntity Create<TDerivedEntity>() where TDerivedEntity : class, T; 
    public abstract T Create(); 
    public abstract T Find(params object[] keyValues); 
    public abstract ObservableCollection<T> Local { get; } 
    public abstract T Remove(T entity); 

    #endregion 
} 

私は次のエラーを取得しています:

Error 1 The type 'System.Data.Entity.Infrastructure.DbQuery' has no constructors defined @path\BaseDbSet.cs

私は私が手にコンストラクタを追加しようとすると:

コンストラクタは内部として宣言されているためである

Error 1 The type 'System.Data.Entity.Infrastructure.DbQuery' has no constructors defined @path\BaseDbSet.cs

答えて

2

。したがって、あなたはそれらにアクセスすることはできません。

ユニットテストEFコードには欠陥があります。チェックthis answerを確認してください。あなたは不要な抽象化に貴重な時間を無駄にしています。

関連する問題