2012-03-30 47 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