コードビハインドファイルのasp.netページにコードセグメントがあります。私はモジュール(general_functions.vb)内のパブリックサブルーチンに移動することにしました。しかし、私がこれをやった後、コードはもはや機能しません - それはエラーを投げます。LINQ to Entitiesがメソッドを認識しません。System.ObjectCompareObjectEqual
ありPublic Sub DeleteResidency(delpeople_id, delsemester, delyear)
Using dbContext as pbu_housingEntities = New pbu_housingEntities
Dim remove_selection = (From p in dbContext.Residents _
Where p.people_code_id = delpeople_id _
Where p.year = delyear _
Where p.semester = delsemester _
Order By p.id Descending _
Select p).FirstOrDefault
End Using
End Sub
を次のように私は公共のサブルーチンを作成し、私のgeneral_functions.vbで今
DeleteResidency(people_id, semester, year)
:元のコードビハインド私はそうのようなコールで元のコードを置き換えるには
それより多くのコードですが、上記のコードはエラーをスローします。私が手にエラーがある:エンティティへ
LINQは「System.Objectの CompareObjectEqual(System.Objectの、System.Objectの、ブール)」メソッド、および このメソッドメソッドを認識しない店に翻訳することはできません表現。
なぜこのようなことが起こっているのか理解してもらえますか?
「semester」のタイプは何ですか? – Eranga
すべての値は文字列としてキャストされます。 – davemackey
私はあなたのどこの条件で非プリミティブ型の比較があるのだろうと思う。 – Eranga