0

我像这样在我的模型中创建了一个列表属性

public virtual List<String> listOfDays { get; set; }

然后我将其转换并存储在列表中,如下所示:

for (int i = 0; i < 30 i++)
{
            var enrollment = new Enrollment();
            enrollment.StudentID = id;
            enrollment.listOfDays = searchString.ToList(); 
            db.Enrollments.Add(enrollment);
            db.SaveChanges();
}

我在这里放了一个断点enrollment.listOfDays = searchString.ToList();……一切都很好。我看到转换已执行,我可以看到 listOfDays 中的值。

所以我想我会在我的数据库中找到一个名为 listOfDays 的列,因为我首先编写代码但该属性不存在。

然后我想我会尝试像这样访问它......

var classdays = from e in db.Enrollments where e.StudentID == id select e.listOfDays;

var days = classdays.ToList(); 
//here I get an error message about this not being supported in Linq.

问题:

  • 为什么您认为该属性不在数据库中?
  • 如何将此数组发布到我的模型,然后在控制器中访问它?

谢谢你的帮助。

感谢德克尔:http ://forums.asp.net/members/Decker%20Dong%20-%20MSFT.aspx

以下是它的工作原理:

在这里使用表单集合...

在 [HttpPost]…</p>

私人无效更新(FormCollection formCollection,int id)

for (int sc = 0; sc < theSelectedCourses.Count(); sc++) { var registration = new Enrollment(); 注册.CourseID = Convert.ToInt32(theSelectedCourses[sc]); 注册.StudentID = id; 注册.listOfDays = formCollection["searchString"] ;//将此绑定为字符串,而不是列表或数组。

然后在 [HttpGet]…</p>

私人无效PopulateAssignedenrolledData(学生学生,int id){

var dayList = from e in db.Enrollments where e.StudentID == id select e;

var days = dayList.ToList(); if (days.Count > 0) { string dl = days.FirstOrDefault().listOfDays; string[] listofdays = dl.Split(','); ViewBag.classDay = listofdays.ToList(); }

4

1 回答 1

0

感谢德克尔: http ://forums.asp.net/members/Decker%20Dong%20-%20MSFT.aspx

以下是它的工作原理:

在这里使用表单集合...

在 [HttpPost]…</p>

私人无效更新(FormCollection formCollection,int id)

for (int sc = 0; sc < theSelectedCourses.Count(); sc++) { var registration = new Enrollment(); 注册.CourseID = Convert.ToInt32(theSelectedCourses[sc]); 注册.StudentID = id; 注册.listOfDays = formCollection["searchString"] ;//将此绑定为字符串,而不是列表或数组。

然后在 [HttpGet]…</p>

私人无效PopulateAssignedenrolledData(学生学生,int id){

var dayList = from e in db.Enrollments where e.StudentID == id select e;

var days = dayList.ToList(); if (days.Count > 0) { string dl = days.FirstOrDefault().listOfDays; string[] listofdays = dl.Split(','); ViewBag.classDay = listofdays.ToList(); }

于 2012-11-11T18:29:15.413 回答