0

ASP.NET MVC の調査を開始したばかりで、最新のベータ版 (つまり 4) を使用しています。私は、かなりの CRUD シナリオに対する正しいアプローチを求めています。私のメインテーブル(タスク)は次のようになります-

TaskID (int) EmployeeID (int) ProjectID (int) DeptID (int) Comment (varchar) Date (datetime) Hours (float)

TaskID は主キーです。他の 3 つの ID はすべて、参照テーブルへの外部キーです。

さまざまなチュートリアルに従って、Entity Framework を使用してオブジェクト モデル (.edmx) を作成しました。次に、「Add... Controller」を使用してコントローラーを自動生成し、「Controller with read/write...」テンプレートを選択しました。

すべてうまくいきました。ただし、明らかに、ID ではなく、参照テーブルからの参照値を 3 つの外部キー列に表示する必要があります。これを達成するための「ベストプラクティス」の方法が何であるかは本当にわかりません。いくつかのオプションが思い浮かびます-

  1. SQL Server でビューを作成する
  2. EFでビューを作成します(これがどのように行われるかわかりません)
  3. コントローラーで LINQ を使用してオンザフライで参照値を検索する

おそらく他の方法があります。このシナリオの「ベスト プラクティス」に関して、経験豊富な MVC プログからお聞きしたいと思います。

4

1 に答える 1

2

このようなプロパティを持つTaskViewModelクラスを好むでしょう

public class TaskViewModel
{
    public Task Task { get; set; }
    public Dictionary<int, string> ProjectList { get; set; }
    //rest of the Lookup Properties like DeptList, EmpList
}
public class Task
{
    public int TaskId { get; set; }
    public int projectId { get; set; }
    //Rest of the properties
}

そして、使用します

@model TaskViewModel
@Html.DropDownListFor(m => m.Task.projectId, new SelectList(Model.ProjectList, "key", "value", Model.Task.projectId))%>  
于 2012-04-10T08:13:39.033 に答える