データベースからオブジェクトへの 2 つの結果セットがあり、それらを内部結合すると、クロス結合が返されます。以下は私のコードです:
var nw = new NorthwindEntities();
var employee1 = (from emp in nw.Employees
join ord in nw.Orders on emp.EmployeeID equals ord.EmployeeID
where emp.EmployeeID == 5
select new
{
empID = emp.EmployeeID,
empName = emp.FirstName,
ordDate = ord.OrderDate
}).ToList();
var employee2 = (from emp in nw.Employees
join ord in nw.Orders on emp.EmployeeID equals ord.EmployeeID
where emp.EmployeeID == 5
select new
{
empID = emp.EmployeeID,
empName = emp.FirstName,
shpAddress = ord.ShipAddress
}).ToList();
var employee = from e1 in employee1
join e2 in employee2 on new { e1.empID } equals new { e2.empID }
select new
{
empID = e1.empID,
empName = e1.empName,
ordDate = e1.ordDate,
orAdd = e2.shpAddress
};
gvAll.DataSource = employee.ToList();
ここで、employee1 と employee2 を employee に結合すると、これらのデータ セットの相互結合が得られます。どんな助けでも大歓迎です。
この背後にある私の主な目標は、データベースから返されたデータを一時的にどこかに保存して、後でデータベースから取得した他のデータと連携できるようにすることです。
従業員 1 と従業員 2 は従業員 ID (5) に対して同じクエリを使用しますが、従業員 1 には empID、empName および OrderDate があり、従業員 2 には empID、empName および shipAddress があります。ここで、empID、empName、OrderDate、ShipAddress が employee1 から、employee2 が employee に必要です。empID は両方で共通ですが、クロス ジョインを取得しています。ありがとうございました。