我对此感到困惑:在ASP.Net中接收空数据集MVC
我有两组相同的代码用于从数据库中检索数据。一个返回数据,另一个不会,即使数据是预期的。 以下是返回空集的那个。在相应的表中有样本数据。
这是控制器代码:
namespace MVCPart1_5.Controllers
{
public class DepartmentController : Controller
{
// GET: Department
public ActionResult Index()
{
DepartmentContext oDepartmentContext = new DepartmentContext();
List<Department> oDepartments = oDepartmentContext.Departments.ToList();
return View(oDepartments);
}
}
}
这些机型:
namespace MVCPart1_5.Models
{
[Table("Department")]
public class Department
{
[Key]
public int Code { get; set; }
public string Name { get; set; }
}
}
namespace MVCPart1_5.Models
{
public class DepartmentContext : DbContext
{
public DbSet<Department> Departments { set; get; }
}
}
最后的观点:
@model IEnumerable<MVCPart1_5.Models.Department>
@using MVCPart1_5.Models;
@{
ViewBag.Title = "Index";
}
<h2>Department Set</h2>
<div style="font-family :Arial">
<ul>
@foreach (Department department in @Model)
{
<li>
@Html.ActionLink(department.Name, "Details", "Employee", new { departmentCode = department.Code })
</li>
}
</ul>
</div>
我也有在全球如下:
protected void Application_Start()
{
Database.SetInitializer<MVCPart1_5.Models.EmployeeContext>(null);
Database.SetInitializer<MVCPart1_5.Models.DepartmentContext>(null);
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
在此先感谢您的帮助。
oDepartments变量是否填充了数据? – Landeeyo
试着在这一行放置一个断点:'返回View(oDepartments);',然后调试并检查'oDepartments'是否为空。 – ekad
oDepartments返回一个没有项目的列表。我使用了中断点,这是我发现列表数为0的部分。 – Maryam