私はEFコードファーストを使用しています。現在、コントローラーのモデルにデータを取得してビューに表示するためのLINQの記述方法を理解するのに苦労しています。基本的に、私はHolterTestデータのフィードを受け取り、HolterTestを処理するために一連の特定のタスクを実行する人々のためのワークリストを作成し、タスクが完了したときにフラグを立て、場所のステータスを提供できるようにしようとしています。個々のテストはプロセス中です基本的なタスククラスは、プロセスのステップを追加または変更できるようにするためのものであり、displayOrderはタスクが実行される順序です。WorkTaskはタスクの特定のインスタンスであり、誰がいつ完了したかをマークできます。WorkItemは、HolterTest、WorkTasksのリスト、およびWorkTasksがすべて完了したときを含むステータス情報を含む複合型です。
モデルクラス:
public class HolterTest
{
public Int32 HolterTestID { get; set; }
public string PatientNumber { get; set; }
public string LastName { get; set; }
public DateTime RecordingStartDateTime { get; set; }
public System.Nullable<DateTime> AppointmentDateTime { get; set; }
}
public class Task
{
public Int32 TaskID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Int32 DisplayOrder { get; set; }
public bool IsActive { get; set; }
}
public class WorkTask
{
public Int32 WorkTaskID { get; set; }
public Task Task { get; set; }
public bool IsCompleted { get; set; }
public System.Nullable<DateTime> CompletedDateTime { get; set; }
public string CompletedBy { get; set; }
}
public class WorkItem
{
public Int32 WorkItemID { get; set; }
public HolterTest HolterTest { get; set; }
public string Status { get; set; }
public List<WorkTask> WorkTasks { get; set; }
public bool IsStarted { get; set; }
public bool IsCompleted { get; set; }
public System.Nullable<DateTime> CompletedDateTime { get; set; }
}
現在、HolterTestsのリストを取得し、WorkItemを持たないものを検索し、WorkItemsを作成し、現在アクティブなタスクのリストに基づいてWorkTasksを含むHolterTestsを関連付けるビジネスロジック関数があります。
私の問題は、WorkItemControllerのすべてのWorkItem(子アイテムを含む)を取得するLINQを記述して、PatientNumberによってビュー(IsCompleted = falseのWorkItems)で実行する作業を表示し、更新できるようにする方法です。特定のWorkItemのWorkTasks。