8
我在代码隐藏文件的asp.net页面上有一段代码。我决定将它移入模块中的公共子程序(general_functions.vb)。然而,一旦我这样做了,代码就不再起作用 - 它会抛出一个错误。LINQ to Entities无法识别方法System.ObjectCompareObjectEqual
在原有代码隐藏我取代了原来的代码的调用,像这样:
DeleteResidency(people_id, semester, year)
现在在我的general_functions.vb我创建了一个公用子程序一样如下:
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
有是比它更多的代码,但上面的代码是抛出错误的代码。我得到的错误是:
LINQ到实体无法识别方法“System.Object的 CompareObjectEqual(System.Object的,System.Object的,布尔型)”的方法,并 这种方法不能被翻译成店表达。
谁能帮我理解为什么会发生这种情况吗?
'学期'的类型是什么? – Eranga 2012-03-21 00:33:44
所有值都被转换为字符串。 – davemackey 2012-03-21 00:40:49
我怀疑你的where条件有一些非原始类型的比较。 – Eranga 2012-03-21 00:55:47