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.

質問:

  • プロパティがデータベースにないのはなぜだと思いますか?
  • この配列を自分のモデルに投稿して、コントローラーでアクセスするにはどうすればよいですか?

助けてくれてありがとう。

Decker に感謝: http://forums.asp.net/members/Decker%20Dong%20-%20MSFT.aspx

仕組みは次のとおりです。

ここでフォーム コレクションを使用しています…

[HttpPost] で…</p>

private void Update (FormCollection formCollection、int id)

for (int sc = 0; sc < theSelectedCourses.Count(); sc++) { var registration = new Enrollment(); registration.CourseID = Convert.ToInt32(theSelectedCourses[sc]); 登録.StudentID = id; registration.listOfDays = formCollection["searchString"] ;//これをリストまたは配列ではなく文字列としてバインドします。

次に [HttpGet] で…</p>

private void PopulateAssignedenrolledData(Student student, int id) {

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

var 日 = 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>

private void Update(FormCollection formCollection、int id)

for(int sc = 0; sc <theSelectedCourses.Count(); sc ++){var enrollment = new Enrollment(); enrollment.CourseID = Convert.ToInt32(theSelectedCourses [sc]); enrollment.StudentID = id; enrollment.listOfDays = formCollection["searchString"];//これをリストまたは配列ではなく文字列としてバインドします。

次に[HttpGet]で…</p>

private void PopulateAssignedenrolledData(Student student、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 に答える