LINQメソッドのクエリを以下のテーブルTimeunitに作成し、外部キーEmployeeまたはOrderを使用して特定の行からデータを取得できますか?外部キーを使用して他のテーブルから値を取得することが可能なLINQクエリ
これは私が達成しようとしているものです。 Viewには、ViewModelにTimeunit、Employee、Orderを渡します。また、ViewのOrderのForEachループの中で、私はそのオーダーで作業しているすべての従業員を取得しようとします。これが可能か、ここで間違っていると思いますか?
@foreach (var item1 in Model.orderlist)
{
@Model.timeunitlist.Where(x => x.OrderID == item1.EmployeeID).FirstName ????
}
public class Timeunit
{
public int ID { get; set; }
public int Week { get; set; }
public int HoursPerWeek { get; set; }
public int EmployeeID { get; set; }
public int? OrderID { get; set; }
public virtual Employee Employee { get; set; }
public virtual Order Order { get; set; }
}
EDIT 1:他の二つのテーブル
public class Order
{
public int ID { get; set; }
public string Name { get; set; }
public int? ManufacturerID { get; set; }
public virtual Manufacturer Manufacturer { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
}
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public int EmployeeNumber { get; set; }
public virtual ICollection<Timeunit> Timeunits { get; set; }
public virtual ICollection<Order> Orders { get; set; }
}
EDIT 2:ビューモデル
public class ViewModel
{
public List<Timeunit> timeunitList = new List<Timeunit>();
public List<Employee> employeeList = new List<Employee>();
public List<Order> orderList = new List<Order>();
}
私は必要なものは、私が一致するすべてのTimeunitsをリストする必要があり、各注文のためであります各注文には特定の週があり、各従業員が各注文で何時間働いていたかを表示します。
'@ Model.timeunitlist.Where(X => x.OrderID == item1.EmployeeID).Select(x => x.Employee.FirstName)' – Jens
あなたのビューモデルとは何を働くかもしれません。プロパティ 'orderlist'は' Timeunit'のコレクションですか? –
@StephenMuecke他の2つのテーブルを追加しました。 –