Я новичок в ASP.NET, у меня есть только опыт в С# 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 |
Я просто хочу показать данные, которые имеют одно и то же местоположение и элемент в одной таблице, я не знаю, как запрашивать в инфраструктуре 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
Мой вопрос заключается в том, как запросить подобное в структуре Entity для отображения данных в представлении, и можно ли одновременно обновить и создать две модели?
Я использую выражение 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 INNER JOIN Due d ON r.Location = d.Location and r.Item = d.Item