とデータアクセス層を生成します。たとえば、INSERTなどのすべてのステートメントとそれを実装するC#メソッド私はいくつかの助けやT4テンプレートと全体のデータアクセス層を生成するには、もう少し説明するポインタを探していたT4テンプレート
答えて
あなたは、代わりに一般的なリポジトリのパターンを試してみてください、あなたはあなたのモデルに任意のタイプのために使用することができるジェネリックを使用して単一の実装を持つ単一のインターフェイスで終わるだろうことをやるべきではありません。
public interface IRepository<T, K> where T : class
{
T Add(T item);
bool Update(T item);
bool DeleteById(K id);
}
実装あなたはデータアクセス層を生成しているのはなぜ
public class EFRepository<T, K> : IRepository<T, K>, IDisposable where T : class
{
protected readonly DbContext _dbContext;
private readonly DbSet<T> _entitySet;
public EFRepository(DbContext context)
{
_dbContext = context;
_entitySet = _dbContext.Set<T>();
}
public T Add(T item)
{
item = _entitySet.Add(item);
_dbContext.SaveChanges();
return item;
}
public bool Update(T item)
{
_entitySet.Attach(item);
_dbContext.Entry(item).State = EntityState.Modified;
_dbContext.SaveChanges();
return true;
}
public bool DeleteById(K id)
{
var item = _entitySet.Find(id);
_entitySet.Remove(item);
_dbContext.SaveChanges();
return true;
}
}
ラッピングEFは無用です。この機能は 'DbSet'と' DbContext'によって既に提供されています。 – Stijn
@Haitham Shaddad私は同じ言葉を使います。「あなたはそれを行うべきではありません」http://rob.conery.io/2014/03/04/repositories-and-unitofwork-are-not-a-good-idea /機能@Stijn –
DbSetに存在していますが、あなたがEntityFrameworkを削除したい場合にも、ドメインサービスまたはUI層に直接それを使用し、別のデータアクセス層を使用することはできません、それは大きなrefactoryingなしで行うことはできません –
- 1. は、DDL生成テンプレートにカスタムT4テンプレートは
- 2. バニラT4 DALテンプレートとポコの生成
- 3. EF4互換T4テンプレートを探しています
- 4. t4テンプレートでhostspecificとは何を表していますか?
- 5. T4テンプレートのコメント
- 6. SQLiteとSubSonic 3.0はT4テンプレートから生成していませんか?
- 7. ワンタイムジェネレーションt4テンプレートを作成する
- 8. T4テンプレートの問題
- 9. テンプレートあたりのテンプレートt4 TransformOnBuild設定
- 10. t4テンプレートを使用した動的コード生成
- 11. T4 WP7のSql CEクラスを生成するテンプレート
- 12. Fluent Hibernateを使用したT4テンプレートからLINQ2SQLクラスを生成する方法
- 13. T4テンプレートとVisual Studioアイテムテンプレート
- 14. T4テンプレートでCOMオブジェクトを使用していますか?
- 15. T4テンプレート属性を取得
- 16. T4テンプレートVS2010ホストアセンブリを取得
- 17. t4テンプレートの優位性
- 18. Entity Framework T4テンプレートの奇妙なバグ - 新しいコードファイルの作成
- 19. SubSonic 3.0.0.3 t4 lageデータベースのテンプレート生成で接続が切れた
- 20. 誰かがxsdからクラスを生成するためのT4テンプレートを知っていますか?
- 21. T4を使用して1つのテンプレートから同時に2つのファイルを生成するにはどうすればよいですか?
- 22. T4テンプレートTransformTextメソッドXMLドキュメント
- 23. Petapoco - T4テンプレート拡張pocoオブジェクト
- 24. ビルドサーバーでT4テンプレートを実行しているときにSystem.Xml.Linq.XDocumentにTypeLoadExceptionが発生しました
- 25. T4での匿名型の使用クラス生成のテンプレート
- 26. アクティブレコードとLinq T4テンプレートの問題
- 27. T4テンプレートが一部のPCで余分な新しい行を生成しています
- 28. T4テンプレートのMSBuildプロパティを使用
- 29. サブソニック2.2のt4テンプレートはどこにありますか?
- 30. t4テンプレートのインデントが間違っています
。 @Marco Munnik – zahed
あなたがEFを使用したくない理由は? EFはすでにリポジトリパターン/作業単位を実装しているため、これは必要ありません。このような「リポジトリ」構造を持つ –