リポジトリ パターンを使用してエンティティに「ビジネス ロジック」を追加する拡張メソッドを備えた静的クラスをいくつか取得しました。
IRepository
これらの拡張機能で新しいものを作成する必要がある場合があります。
私は現在、拡張しているオブジェクトを介して Ninject カーネルにアクセスすることで回避していますが、それは本当に醜いです:
public static IEnumerable<ISomething> GetSomethings(this IEntity entity)
{
using (var dataContext = entity.kernel.Get<IDataContext>())
return dataContext.Repository<ISomething>().ToList();
}
また、ファクトリから何らかの形で Ninject カーネルにアクセスする静的コンストラクターを作成することもできますが、Ninject 2 にはそのためのインフラストラクチャが既にありますか?
誰もがより良い解決策を知っていますか? ビジネスロジックを実装するこの方法について、誰かコメントはありますか?