-1

Employee テーブル の主キー:EmployeeID ここに画像の説明を入力

マシン タイプ テーブルの 主キー: MachineTypeID ここに画像の説明を入力

マシン テーブル:
主キー: MachineID
外部キー: MachineTypeID
外部キー: EmployeeID

ここに画像の説明を入力

データベース構造は上で説明したとおりです。ここで、Machine Table に対してクエリを実行し、次の結果を表示したいと思います。 ここに画像の説明を入力
上記の表を達成するためにLinqtoSqlクエリを作成する方法を知りたい..結合はここで機能します。親切に私を助けてください。

4

3 に答える 3

1

以下のようなものがあなたを始めさせます:

これはnavigation propertiesの代わりに使用しjoinsます。

var result = context.Machines.Where(x => x.EmployeeID == 3)
            .Select(v => new 
            { 
                v.MachineID, // from Machines table
                v.MachineTypes.MachineType, // from MachineTypes table
                v.Employees.EmployeeName, // from Employees table
                v.Price, // from Machines table
                v.Make, // from Machines table
                v.Year // from Machines table
            });
于 2013-10-09T10:21:13.517 に答える
1
var result = Machine
.Join
(
    MachineType,
    x=>x.MachineTypeID,
    x.MachineTypeID,
    (m,mt)=>new
    {
        m.MachineID,
        m.EmployeeID,
        m.Price,
        m.Make,
        m.Year,
        mt.Type
    }
)
.Join
(
    Employee,
    x=>x.EmployeeID,
    x=>x.EmployeeID,
    (m,e)=>new 
    {
        m.MachineID,
        MachineType = m.Type,
        Employee = m.EmployeeName,
        m.Price,
        m.Make,
        m.Year
    }
 );
于 2013-10-09T10:21:24.333 に答える
1

コンテキストに名前をDB/Object Context付けていて、エンティティにナビゲーションがない場合 ( King Kingが質問の下で言っているように)、複数結合クエリを作成できます。

var result = 
from m  in context.Machine
join mt in context.MachineType on m.MachineTypeID equals mt.MachineTypeID
join e  in context.Employee    on m.EmployeeID    equals e.EmployeeId
select new { m.MachineID, mt.Type, e.EmployeeName, m.Price, m.Male, m.Year };
于 2013-10-09T10:23:54.170 に答える