0

私はこのコードを使用して、さまざまなページでデータベースの4つの最後のレコードを選択します

public static List<Tour> GetLastTour()
{
    using (var Context = new MvcHghDbContext())
    {
        return (Context.Tours.Take(4).OrderByDescending(x=>x.Titl  e).ToList());
    }
}

静的クラスの静的メソッドで作業単位パターンを使用するには? しかし、静的コンストラクタ エラー! そのようなこのコードplzは私を助けます:

public static class DropDownList{
    private  readonly ICatHotellService _catHotellService;
    private  readonly ICatTourismService _catTourismService;
    private  readonly ICatTourService _catTourService;
    private  readonly IUnitOfWork _uow;
    public DropDownList(ICatHotellService CatHotellService, IUnitOfWork ouw, ICatTourService CatTourService, ICatTourismService CatTourismService)
    {
        _uow=ouw;
        _catHotellService = CatHotellService;
        _catTourismService = CatTourismService;
        _catTourService = CatTourService;`
    }
}
4

2 に答える 2

1
  • UoW をまったく使用していません。UoW とはMvcHghDbContext、リクエスト呼び出し中に の 1 つのインスタンスをサービス層のさまざまなクラスに注入し、メソッドなどのたびに直接インスタンス化しないことを意味しますGetLastTour
  • サービス層で静的クラスを使用しないでください。それらからインターフェイスを抽出し、IoC コンテナーにその寿命を管理させます。
  • ObjectFactory.GetInstance<>また、静的クラスであっても、どこでもサービスロケーターパターン (呼び出しなど) を使用できます。これはアンチ パターンであり、可能な限り回避する必要があります。これは、IoC コンテナーがクラスの依存関係になったためです。
于 2013-08-01T17:41:50.147 に答える