2012-03-30 46 views
2

我正在Asp.Net 4.0 C# - MVC-3。我有一個問題,不知道如何解決。我有4個表格,想從LINQ獲取表格中的數據。LINQ查詢從多個表中獲取數據

TABLES

1)Project_Master

Field Names : 

    project_id (pk) 
    project_name 
    company_id (FK with company_master) 
    company_category_id (FK with Company_Category_master) 
    project_status_id (FK with Project_Status_Master) 

2)Company_Master

Field Names : 

    company_id 
    company_name 
    company_category_id (FK with Company_Category_Master) 

3)Company_Category_Master

Field Names : 

    Company_Category_Id 
    Company_Category_Name 

4)Project_Status_Master

Field Name : 

    Project_Status_Id 
    Project_Status_Name 

下面是我需要的。(使用來獲取LINQ查詢)

  1. COMPANY_NAME領域
  2. 使用狀態總計已完成的項目id(1)=完成(其中staus 1表示完成)
  3. 項目總
  4. Company_category_name

所以,我怎麼能取得與LINQ查詢數據?

在此先感謝...

+2

你的問題無關與MVC。它的所有LINQ。 – 2012-03-30 05:44:45

+1

檢查這個問題:http://stackoverflow.com/questions/5207382/get-data-from-two-tablesjoin-with-linq-and-return-result-into-view – 2012-03-30 06:08:28

+1

你知道什麼[JOIN]( http://en.wikipedia.org/wiki/Join_(SQL))是? linq還有一個'join'關鍵字。 – Stephan 2012-03-30 09:05:47

回答

3

試試下面的例子:

(From lse In Me.Leases, nty In Me.Entities, psg In Me.ProductionStages, lsg In LeaseStages _ 
     Where lse.LeaseName = leaseName _ 
     Select lse, lsg, nty, psg).Single 

,或者你可以用下面的例子太多:

var employeesQuery = from populationTable in db.Populations 
join personTable in db.Persons on populationTable.Guid equals personTable.PopulationGuid 
join employeeTable in db.Employees on personTable.Guid equals employeeTable.PersonGuid 
select new { populationTable, personTable, employeeTable}; 
+1

你也可以使用?你應該。第一個例子是笛卡爾產品。 – 2012-03-31 19:28:25

+1

@GertArnold:是的,你說的對,那是我的錯。謝謝 – SeeSharp 2012-04-02 03:07:20

+1

謝謝。它馬上解決了我的問題! – Stan 2013-01-11 13:30:19