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

C# 在ASP.NET中显示来自具有相同列名和相同值的两个模型的数据,c#,asp.net,sql-server,asp.net-mvc,entity-framework,C#,Asp.net,Sql Server,Asp.net Mvc,Entity Framework,我是ASP.NET新手,我只有C#Windows窗体和SQL Server方面的经验。现在我已经在ASP.NETMVC中开始了我的新项目,并且已经从我的客户那里获得了数据库。它有两个模型,其中包含一些相同的列名,如下所示: Table 1 --------------------------------- | Location | Item | Model | Tag | --------------------------------- | 1 | 1

我是ASP.NET新手,我只有C#Windows窗体和SQL Server方面的经验。现在我已经在ASP.NETMVC中开始了我的新项目,并且已经从我的客户那里获得了数据库。它有两个模型,其中包含一些相同的列名,如下所示:

             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   |
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
我只是想在一个表中显示具有相同位置和项目的数据,我不知道如何在实体框架中查询,我只知道如何使用SQL编码,我认为它似乎是这样的:

             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   |
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

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

我使用的是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();

始终使用正确的内部联接语法<代码>.from Register r内部连接由于r.Location=d.Location和r.Item=d.Item在MVC和WinForms之间没有太大区别-可以同时使用。提示:C#代码看起来与您的SQLSQL非常相似。谢谢您的回答。