Tôi đã có một đoạn mã trên trang asp.net trong tệp mã-đằng sau. Tôi quyết định di chuyển nó vào một chương trình con công khai trong một mô-đun (general_functions.vb). Một khi tôi đã làm điều này, tuy nhiên, mã không còn hoạt động - nó ném một lỗi.LINQ to Entities không nhận ra phương thức System.ObjectCompareObjectEqual
Trên gốc code-behind Tôi thay thế mã ban đầu với một cuộc gọi như vậy:
DeleteResidency(people_id, semester, year)
Bây giờ trong general_functions.vb của tôi, tôi đã tạo ra một chương trình con công cộng như sau:
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
Có là mã nhiều hơn nó, nhưng đoạn mã trên là điều ném lỗi. Các lỗi tôi nhận được là:
LINQ to Entities không nhận ra phương pháp 'System.Object CompareObjectEqual (System.Object, System.Object, Boolean)' phương pháp, và phương pháp này không thể được dịch sang một cửa hàng biểu hiện.
Có ai giúp tôi hiểu tại sao điều này xảy ra không?
Loại 'học kỳ' là gì? – Eranga
Tất cả các giá trị được truyền dưới dạng chuỗi. – davemackey
Tôi nghi ngờ có một số loại so sánh nguyên thủy trong điều kiện của bạn. – Eranga