2015-03-31 86 views
1

我是ASP.NET新手,我只有C#Windows Form和SQL Server的经验。现在我已经在ASP.NET MVC中开始了我的新项目,并且已经有了我的客户的数据库。它有两个模型包含了一些相同的列名这样的:在ASP.NET中显示来自两个具有相同列名称相同值的模型的数据

   Table 1 
--------------------------------- 
| Location | Item | Model | Tag | 
--------------------------------- 
| 1  | 10 | A5 | 221 | 
| 2  | 10 | A6 | 233 | 
| 3  | 12 | A8 | 332 | 
| 4  | 15 | C1 | 223 | 

      Table 2 
------------------------------------------------- 
| Location | Item | Model | Tag | DWeek | DYear | 
------------------------------------------------- 
| 1  | 10 | A5 | 221 | 01 | 15 | 
| 2  | 10 | A6 | 233 | 01 | 15 | 
| 3  | 12 | A8 | 332 | 02 | 15 | 
| 4  | 15 | C1 | 223 | 03 | 15 | 

我只是想表明它具有相同的位置和项目在一个表中的数据,我不知道如何在实体框架查询,我有只知道如何通过SQL编写,并且我认为这似乎是这样的:

select 
    r.Location 
    ,r.Item 
    ,d.Location 
    ,d.Item 
    ,d.DWeek 
    ,d.DYear 
    ,r.Model 
    ,r.[Tag No] 
    ,d.[Tag No] 
from Register r, Due d 
where r.Location = d.Location 
    and r.Item = d.Item 

我的问题是如何查询像这样在视图中的数据显示实体框架,是可以更新和在同一时间创建两个模型?

+1

始终使用正确的** INNER JOIN **语法。 '..从注册r INNER JOIN到期 ON r.Location = d.Location 和r.Item = d.Item' – 2015-03-31 05:10:02

+0

MVC和WinForms之间应该没有多大区别 - 可以使用[LINQ to Entities](https ://msdn.microsoft.com/en-us/library/vstudio/bb896266(v = vs.110).aspx)。 **提示**:C#代码看起来非常类似于您的SQL – kaveman 2015-03-31 05:32:17

回答

0

我使用Lambda表达式

var Query=Register.Join(Due,r=>r.Location,d=>d.Location,(r,d)=>new {r,d}).Where(
X=>X.r.Location = X.d.Location && X.r.Item = X.d.Item).Select(X=>new { 
LOCATION_1 =X.r.Location; 
ITEM_1=X.r.Item; 
LOCATION_2=X.d.Location; 
ITEM_2=X.d.Item; 
DWEEK=X.d.DWeek; 
DTEAR=X.d.DYear; 
MODEL=X.r.Model; 
TAGNO_1=X.r.Tag_No; 
TAGNO_1=X.d.Tag_No; 
}).ToList(); 
+0

谢谢您的回答。 – Wimok 2015-04-01 02:50:53

+0

做答案的工作????? – 2015-04-01 04:58:14

相关问题