Странное исключение linq в Visual Studio для Mac - PullRequest
2 голосов
/ 26 июня 2019

У меня есть очень старый проект, который был написан с помощью Xamarin (теперь Visual Studio для Mac).

Этот проект работает с базой данных mysql и сущностью.

Когда я пытаюсь выполнить очень простой запрос

using (myentities db = myentities())
{
    customer.where(c => ... any filter ...)
}

Я получаю это исключение:

System.MethodAccessException
Method `System.Data.DataView.get_RowPredicate()' is inaccessible from method `System.Data.LinqDataView.get_RowFilter()'

Пожалуйста, обратите внимание - У меня нет исключений, если таблица пуста. - Он отлично работал 2 года назад на одном компьютере!

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 27 июня 2019

LinqDataView использует DataView (по наследству и с использованием RowPredicate из DataView)

Это выглядиткак LinqDataView и DataView несовместимые версии, поэтому LinqDataView вызывает DataView, который при компиляции имел RowPredicate, но DataView в используемой вами DLL не имеет (доступного) RowPredicate

LinqDataView находится в dll System.Data.DataSetExtensions, а DataView находится в dll System.Data.

Таким образом, существует несовместимость между dll System.Data.DataSetExtensions и dll System.Data.

Двойная проверка этих dll / пакетов обновлена ​​/ установлена ​​правильно.(может также очистить папки obj / bin и проверить версии .configs)

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