我试图在我的数据库中跟踪员工。
我有一个实体类:
[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; }
}
我这样创建 ViewModel 是因为我计划稍后将其他不在 Employees 表中的内容添加到模型中。我只是想从这个开始,看看是否一切正常。
我有我的页面:
<%@ Page Inherits="System.Web.Mvc.ViewPage<EmployeesAddViewModel>" ... %>
<% using (Html.BeginForm("Add", "Employees", FormMethod.Post)) { %>
<%: Html.EditorForModel() %>
<input type="submit" value="Save" />
<% } %>
但是当我查看我的页面时,它没有为我的模型显示任何表单字段,它什么也没有显示。
我是否需要在我的模型中为每个实体字段创建字段,而不是在我的模型中只包含整个 Employee 类?我不知道我在这里做错了什么。
最佳答案
你可以调用Html.EditorFor(m => m.Employee)
默认编辑器模板不考虑复杂类型属性。
关于c# - 实体的 MVC 模型设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727341/