質問

私のコントローラは、リポジトリではなく直接サービスを利用しています。サービスはApplicationServicesプロジェクトに配置されています。

public XYZService
        (
            IBlaRepository BlaRepository,
            IBla1Repository Bla1Repository
        )
        {
            Check.Require(BlaRepository != null, "BlaRepository may not be null");
            this.BlaRepository = BlaRepository;
        ....
.

これはうまく機能します。

リポジトリは次のように実装されています:

public interface IBlaRepository : IRepository<Bla> (placed in Core/DataInterfaces)

public class BlaRepository : Repository<Bla>, IBlaRepository (placed in Data)
.

「普通の」シャープなアーキテクチャリポジトリを使用することができます。上記のサービスにそれらを渡す方法はありますか?どこかにそれらを登録する必要がありますか?

これを明確にする - サービスのコンチュートルは次のようになります:

public XYZService
        (
            Repository<UUU> UUURepository
.

...

これが理にかなっていることを願っています。

ありがとう!

クリス

役に立ちましたか?

解決

クリス、 あなたがする必要があるのはあなたのリポジトリを参照するだけです。

    private readonly IRepository<Bla> _blaRepository; 

    public BlaService(IRepository<Bla> blaRepository) 
    { 
         _blaRepository = blaRepository; 
    }
.

これにより、ウィンドソーはあなたが必要としない他に何も必要としないコントローラにリポジトリを注入することができます。

Alec

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top