2011-01-18 9 views
3

私のデータベースに従業員を追跡しようとしています。エンティティのMVCモデル設計

私は、エンティティクラスを持っている:

[Table(Name = "Employees")] 
public class Employee 
{ 
    [HiddenInput(DisplayValue = false)] 
    [Column(IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)] 
    public int EmployeeID { get; set; } 

    [Column] 
    [Required] 
    public string FirstName { get; set; } 

    [Column] 
    [Required] 
    public string LastName { get; set; } 

    [Column] 
    [Required] 
    public string Email { get; set; } 
} 

私はデータベースに従業員を追加するページを作成しようとしています。だから私はViewModelにを作成しました:

public class EmployeesAddViewModel 
{ 
    public Employee employee { get; set; }   
} 

私は、Employeesテーブルにいないこと、後でモデルに他のものを追加することを計画しているので、私はこのようなViewModelにを作成しました。私はこれで始まり、すべてが正しく機能しているかどうかを確認したいと思っていました。

そして私は私のページがあります。

<%@ Page Inherits="System.Web.Mvc.ViewPage<EmployeesAddViewModel>" ... %> 

<% using (Html.BeginForm("Add", "Employees", FormMethod.Post)) { %> 
    <%: Html.EditorForModel() %> 
    <input type="submit" value="Save" /> 
<% } %> 

しかし、私は私のページを表示するとき、それは何も表示されません、私のモデルのための任意のフォームフィールドを表示しませんが。

私のモデルにEmployeeクラス全体を置くのではなく、エンティティフィールドごとにモデルにフィールドを入れる必要がありますか?私はここで間違っているのか分からない。

答えて

3

あなたはデフォルトのエディタのテンプレートは、複合型のプロパティを考慮していないHtml.EditorFor(m => m.Employee)

を呼び出すことができます。

関連する問題