2011-06-30 20 views
0

のためのLINQリポジトリパターン助けI持っている。これは、ICustomerAndSitesMMVC2 /初心者

interface ICustomersAndSitesM 
{ 
    IQueryable<Customer> Customers { get; } 
    IQueryable<CustomerSite> CustomerSites { get; } 
} 
のための私のインターフェイスのコードである

public IQueryable <ICustomersAndSitesM> CustomerAndSites 
    { 
     get 
     { 
      return from customer in customerTable 
        join site in customerSitesTable 
         on customer.Id equals site.CustomerId 
        select new CustomersAndSitesMix(customer, site); 
     } 
    } 

私のデータベースから二つのオブジェクトのミックスを返し、私のリポジトリに次のような方法、

私はCustomersAndSitesMixを定義する方法と場所を決めるのに苦労します。これは別のクラスかインターフェイスのメソッドですか?そしてそれは顧客と顧客の両方のサイトのための定義を持つ必要がありますか?

答えて

0

私は、CustomersAndSitesMixを必要な他の2つのテーブルのすべてのプロパティを持つクラスとして設定します。なぜこのインターフェイスが必要なのかよく分かりませんが、メソッドの戻り値の型をList<CustomersAndSitesMix>に変更し、LINQクエリの最後にToList()を追加します。次に、両方のテーブルの内部結合を返します。これは、必要なものかもしれません。または、引数を追加して関数にCustomerIDを渡して、それを渡してサブセットのみを取得することもできます。