モデルの1つに関連する別のテーブルから取得したデータのリストを保存する必要があります。(ビルドが深すぎて、DBにこの関係を追加する必要があります。)このリストを必要とするモデルのプロパティにこのリストをロードしようとしたとき。
このリストをビューのドロップダウンにロードします。このリストをコントローラーのモデルにロードしようとすると、エラーが発生します。本当の注意点は、ビューのテーブル内のレコードごとに一意のドロップダウンリストがあることです。
私たちのクラス:
Public class OurModel
public property ID As Integer
Public property First As Integer
Public property Last As Integer
Public property myList As List(Of SelectListItem)//This is our problem member
End class
コントローラ:
//This ViewModel is what we pass around from page to page to populate the various elements we need that is not tied to a specific model
Public Function LoadList(myViewModel As ViewModel) As Action Result
Using db //our database resource
For i As Integer = 0 to myViewModel.OurModel
//Assume table select statement previously declared and initialized into dbGet
**NOTE: dbGet is retieving data from a different table that is tied to this Model**
dbGet = dbGet.Where(Function(x) x.ID = myViewModel.OurModel.ID)
myViewModel.OurModel.myList = dbGet.ToList().[Select](Function(x) New SelectListItem() With {.Value = x.number, .Text = x.number})//ERROR IS HERE
Next
End Using
End Function
エラー:
LINQ to Entitiesは、メソッド'DB.ModelTable get_Item(Int32)'メソッドを認識せず、このメソッドをストア式に変換できません。
更新:問題は、LINQが以前にこのコントローラーで行ったクエリのDBContextを使用して何かを行おうとしていることのようです。エラーは、私が照会しているものではDB.Employee
なく、参照しています。DB.Position