我有以下的存儲庫,包括三種方法返回我的db對象,前兩個查詢工作正常,因爲他們simly返回一個數據列表,但作爲thrird方法需要從這兩個表都與如何做到這一點有點混淆。LINQ幫助初學者選擇多個表
任何人都可以友好地指出我在正確的方向,因爲如何編寫一個LINQ查詢來從兩個相關表中選擇要傳遞到下面顯示的存儲庫中的最後一個方法(CustomerAndSites) - 這些表與客戶ID字段,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CustomerDatabase.Domain.Abstract;
using CustomerDatabase.Domain.Concrete;
using CustomerDatabase.Domain.Entities;
using System.Data.Linq.Mapping;
using System.Data.Linq;
using System.Web.Mvc;
namespace CustomerDatabase.Domain.Concrete
{
class SqlCustomersAndSitesRepository : ICustomersAndSitesRepository
{
public Table<CustomerSite> customerSitesTable;
public Table<Customer> customerTable;
public SqlCustomersAndSitesRepository(string connectionString)
{
customerSitesTable = (new DataContext(connectionString)).GetTable<CustomerSite>();
customerTable = (new DataContext(connectionString)).GetTable<Customer>();
}
public IQueryable<CustomerSite> CustomerSites
{
get { return customerSitesTable; }
}
public IQueryable<Customer> Customers
{
get { return customerTable; }
}
public IQueryable <ICustomersAndSitesRepository> CustomerAndSites
{
get { return CustomerAndSites; }
}
}
}
====更新
這是我ICustomersAndSitesM界面,我在哪裏可以定義CustomersAndSitesMix,我需要創建一個單獨的實體?我在我的UI項目中有一個包含兩個對象屬性的視圖模型。
using System; using System.Collections.Generic;使用System.Linq的 ; using System.Text;使用CustomerDatabase.Domain.Entities的 ;
命名空間CustomerDatabase.Domain.Abstract { 接口ICustomersAndSitesM { IQueryable的客戶{獲得; } IQueryable CustomerSites {get; }}
}
你爲什麼要返回一個IQueryable的ICustomersAndSitesRepository?它對我沒有任何意義 – Chandu
你在構造函數中做什麼? !你運行/測試過這些代碼嗎? – Nix