私はEF 4に汎用リポジトリを書き込もうとします。しかし、私のコードは良く見えません。 ExpressionEntitiesはGENERICではないためです。EF4で汎用エンティティ名をコンストラクタに書き込む方法は?
public class DataRepository<T> : IRepository<T> where T : class
{
private GetGenericEntityCONTEXT _context;
public DataRepository()
{
}
public DataRepository(GetGenericEntityCONTEXT context)
{
_context = context;
}
}
私の実体をグローバルではないExpressionsEntitiesので:ExpressionsEntities1、ExpressionsEntities 2、ExpressionsEntities 3 ETXが...私がする必要がある次へ
public class DataRepository<T> : IRepository<T> where T : class
{
private ExpressionsEntities _context;
public DataRepository()
{
}
public DataRepository(ExpressionsEntities context)
{
_context = context;
}
}
:
私はこのコードを変換したいです例えば次のようにエンティティを取得してください:
public class DataRepository<T> : IRepository<T> where T : class
{
private Entity _context;
public DataRepository()
{
}
public DataRepository(Entity context)
{
_context = context;
}
public class Main
{
main()
{
new DataRepository(ExpressionEntities)
}
}
}
Loo上記のコード:私のコードはgenericですが、ExpressionsEntitiesは上記のコードに基づいていません。すべてのエンティティを記述する必要があります。 – Penguen
@Phsika - "ExpressionEntities"とは何ですか - あなたのデータコンテキストですか?私は推測して、はいと答え、私の答えを更新します。 – RPM1984
そして、エンティティごとにリポジトリは必要ありません。集約ルート*ごとにリポジトリ*が必要です。集約ルートごとにインターフェイスを作成し、DataRepositoryまたは特定のリポジトリ(DataRepository から派生し、インターフェイス契約を満たす)を挿入します。ジェネリックリポジトリ全体のポイントは、実装の数を減らすことです。 –
RPM1984