Мы разрабатываем мобильное приложение с использованием Xamarin.Forms, которое поддерживается веб-приложением с использованием ASP.NET Core. Мы загружаем различные модели из баз данных как в веб-приложения, так и в мобильные приложения, а недавно мы перешли на использование EntityFramework Core (далее — EFCore) в веб-приложении.
В настоящее время мы рассматриваем возможность перехода мобильного приложения на использование EFCore, чтобы мы могли обмениваться большим количеством кода между приложениями, но столкнулись с проблемами с EFCore на iOS. Кажется, что он может компилироваться и запускаться, а также может загружать простые модели, но не может загружать типы, допускающие значение NULL, которые используются для указания необязательных отношений между моделями. Кажется, у этого человека есть EFCore работает в iOS и предоставляет проект для своего кода. . Я сам вытащил и запустил проект, чтобы проверить его работу, что он и сделал, но после добавления обнуляемого отношения к его простой модели впоследствии не удалось загрузить и создать элемент с этой ошибкой:
System.ExecutionEngineException: Попытка метода JIT-компиляции '(вызов среды выполнения оболочки) :runtime_invoke_void__this___int_byte_byte_byte_byte_byte_object_object_object_object_object_object_object_object_object_object_Nullable1 (object,intptr,intptr,intptr)' при работе в режиме "только aot". См. https://developer.xamarin.com/guides/ios/advanced_topics/limitations/ для получения дополнительной информации.
Эта ошибка не возникает при работе в симуляторе, только на устройстве.
Мой вопрос заключается в том, удалось ли кому-нибудь заставить Nullables работать с EFCore на Xamarin iOS?
Большое спасибо, Уилл.
P.S. Мы готовы изменить версию EFCore/Xamarin.iOS/Mono для решения проблемы.