Asp.net mvc 4 传入字典的模型项的类型为';System.Data.Entity.DbSet
我正在学习MVC,因此我无法理解我相信的更简单的东西。我试图在同一个视图上保留列表和创建操作。按照建议,我创建了一个ViewModel,但它抛出了一个错误。我确信在我下面的代码中需要一些修复 传递到字典中的模型项的类型为“System.Data.Entity.DbSet`1[Entity.EmployeeVM]”,但此字典需要类型为“Entity.EmployeeVM”的模型项 我的模范班Asp.net mvc 4 传入字典的模型项的类型为';System.Data.Entity.DbSet,asp.net-mvc-4,Asp.net Mvc 4,我正在学习MVC,因此我无法理解我相信的更简单的东西。我试图在同一个视图上保留列表和创建操作。按照建议,我创建了一个ViewModel,但它抛出了一个错误。我确信在我下面的代码中需要一些修复 传递到字典中的模型项的类型为“System.Data.Entity.DbSet`1[Entity.EmployeeVM]”,但此字典需要类型为“Entity.EmployeeVM”的模型项 我的模范班 public class Employee { public int ID { get; set;
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
}
public class EmployeeVM
{
public Employee Employee { get; set; }
public List<Employee> Employees { get; set; }
}
我的观点模型课
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
}
public class EmployeeVM
{
public Employee Employee { get; set; }
public List<Employee> Employees { get; set; }
}
我的看法
@model ERP.Domain.Entity.EmployeeVM
<div class="jumbotron">
@using (Html.BeginForm("Create", "MyController", FormMethod.Post))
{
<label>Name</label>
<input id="txtName" type="text" name="Name" class="btn btn-default" />
<input type="submit" value="Save" class="btn btn-primary" />
}
</div>
<div>
<table class="table table-hover">
<tr>
<th>
Name
</th>
</tr>
@foreach (var item in Model.Roles)
{
<tr>
<td>@Html.ActionLink(item.Name, "Edit")
</td>
</tr>
}
</table>
</div>
@model ERP.Domain.Entity.EmployeeVM
@使用(Html.BeginForm(“Create”,“MyController”,FormMethod.Post))
{
名称
}
名称
@foreach(Model.Roles中的var项)
{
@Html.ActionLink(item.Name,“编辑”)
}
您的操作正在返回IEnumerable
,而在您的视图中,您有modelERP.Domain.Entity.EmployeeVM
在视图中更改视图的模型:
@model IEnumerable<ERP.Domain.Entity.EmployeeVM>
鉴于:
@model List<ERP.Domain.Entity.EmployeeVM>
@型号列表
这给了我一个新的错误,EntityType'EmployeeVM'没有定义键。在此代码行定义此EntityType的键-'返回视图(repository.Employees.ToList())`您尚未在模型中定义key-in-model添加ID属性并用key-attributehi修饰它该错误已得到解决…现在我面临一个简单的错误…但它正在挠头寻找解决方案新的错误是-传递到字典中的模型项的类型为“System.Collections.Generic.List
1[Entity.Employee],但此词典需要“System.Collections.Generic.List1[Entity.EmployeeVM]”类型的模型项。
。我知道我需要更改此-public ViewResult Index(){return View(repository.Employees.ToList());}
error表示所有视图定义了不同的模型,而传递的对象的类型不同
@model List<ERP.Domain.Entity.EmployeeVM>