在ASP.NET中显示两个具有相同列名相同值的模型的数据

时间:2015-03-31 05:08:15

标签: c# asp.net sql-server asp.net-mvc entity-framework

我是ASP.NET的新手,我只有C#Windows Form和SQL Server的经验。现在我已经在ASP.NET MVC中启动了我的新项目,并且已经拥有了我客户的数据库。它有两个模型,包括一些相同的列名:

             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   |

我只想在一个表中显示具有相同Location和Item的数据,我不知道如何在Entity框架中查询,我只知道如何通过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 个答案:

答案 0 :(得分:0)

我正在使用Lambda Expression

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();