2012-02-19 9 views
0

私はリポジトリパターンとUnitOfWorkを使用します。これは私のドメインモデルと共に別のプロジェクトに保存されます。ユーザーがDbContextに直接アクセスして、つまり集約ルートの子を追加することが魅力的かもしれないことに気付きました。EFユーザーがDbContextにアクセスしないように制限し、集約ルートの子を追加する方法

私はリポジトリとUnitOfWork以外のすべてを内部にマークする必要がありますか?私がこれまでに読んだことで書かれたドキュメンテーションや例題、あるいは主題でさえ、私がこれを見たことはないと尋ねる理由があります。

答えて

1

ドメインレイヤーとUIレイヤーにDbContextを公開しないでください。リポジトリパターンの実装は漏れた抽象である。

ドメインレイヤ

public interface IUnitOfWork : IDisposable 
{ 
    int SaveChanges(); 
} 


public interface IRepository<TEntity> 
{ 

} 

データアクセス層はもちろん

internal class UnitOfWork : DbContext, UnitOfWork 
{ 

} 


internal class Repository<TEntity> : IRepository<TEntity> 
{ 

} 
+0

おかげで、私はのUnitOfWorkを使用する場合のいずれかのリポジトリを公開する必要はありません。 – cfs

関連する問題