0

次のように2つのテーブルがあります。

Departments:
   DeptID   (PK)
   DeptName
   ...

Employees: 
   EmpID    (PK)
   DeptID   (FK)
   EmpName
   ...

次のようにLINQを使用したクエリがあります。

public List<Employee> GetEmployee(int deptID)
{
    var query = from e in mdc.Employees
                join d in mdc.Departments on e.DeptID equals d.DeptID
                where e.DeptID == deptID
                select new { e.EmpID, e.EmpName, d.DeptName };

    return query.ToList();
}

今、私の質問はこれです。フィールド EmpID、EmpName、および DeptName を選択したいと考えています。しかし、私の戻り値の型はどうなるでしょうか? このクエリはGenericListmy ではなく a を返すため、これはエラーを返しますList<Employee>

4

1 に答える 1

1

次のような必要なプロパティを持つ別のクラスを作成する必要があります。

public class NewType{
public EmpID{get;set;}
//other fields here
}  

を選択し、

public List<NewType> GetEmployee(int deptID)
{
    var query = from e in mdc.Employees
                join d in mdc.Departments on e.DeptID equals d.DeptID
                where e.DeptID == deptID
                select new NewType{ e.EmpID, e.EmpName, d.DeptName };

    return query.ToList();
}
于 2012-11-08T03:17:56.153 に答える