LINQ to Entities не распознает метод System.ObjectCompareObjectEqual - PullRequest
8 голосов
/ 21 марта 2012

У меня был сегмент кода на странице asp.net в файле code-behind.Я решил переместить его в общедоступную подпрограмму в модуле (general_functions.vb).Однако, как только я это сделал, код больше не работает - он выдает ошибку.

В исходном коде позади я заменил исходный код следующим вызовом:

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 to Entities не распознает метод «System.Object CompareObjectEqual (System.Object, System.Object, Boolean)», и этот метод нельзя преобразовать всохранить выражение.

Может кто-нибудь помочь мне понять, почему это происходит?

1 Ответ

10 голосов
/ 21 марта 2012

Явно введите ваши параметры в определение подпрограммы DeleteResidency. Это оставляет компилятору меньше выводов и предотвращает ошибки такого типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...