如何在using语句中包含部分编辑方法?我尝试过这样的事情:
public ActionResult Edit(int id)
{
IEnumerable<Student> student;
using( var stdnt=new Student)
var std = stdnt
.Include(s => s.Courses)
.Include(s => s.Enrollments)
.Where(s => s.StudentID == id)
.Single();
PopulateAssignedenrolledData(student, id);
PopulateCourseDropDownList(student.CourseID);
return View(student);
}
我正在尝试这种方法,因为我不断收到有关已经打开的DataReader的错误消息,所以我研究了大多数答案建议将代码包装在using语句中或转换为ToList()。我想知道如何将代码包装在using语句中。这是我需要帮助的编辑方法。
public ActionResult Edit(int id)
{
Student std = db.Students
.Include(s => s.Courses)
.Include(s => s.Enrollments)
.Where(s => s.StudentID == id)
.Single();
PopulateAssignedenrolledData(student, id);
PopulateCourseDropDownList(student.CourseID);
return View(student);
}
答案 0 :(得分:0)
你需要在你的代码中找到打开datareader的地方,然后将它放在一个像这样的使用块中
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
//read here
}
}
我们无法从您的代码中看到它正在打开并且从未关闭过。尝试单步执行代码并查看。在这个例子中,我使用了SqlDataReader,你可以对任何datareader
以相同的方式使用using块