Nullable di Entity Framework Core di Xamarin iOS

Kami sedang mengembangkan aplikasi Seluler menggunakan Xamarin.Forms, yang didukung oleh aplikasi Web menggunakan ASP.NET Core. Kami memuat berbagai model dari database di aplikasi Web dan Seluler, dan baru-baru ini kami beralih menggunakan EntityFramework Core (akan disebut sebagai EFCore) di aplikasi Web.

Kami sedang mempertimbangkan untuk melakukan transisi aplikasi Seluler agar juga menggunakan EFCore agar kami dapat berbagi lebih banyak kode antar aplikasi, namun kami mengalami masalah dengan EFCore di iOS. Tampaknya dapat dikompilasi dan dijalankan, dan dapat memuat model sederhana, tetapi gagal memuat tipe nullable yang digunakan untuk menentukan hubungan opsional antar model. Orang ini tampaknya memiliki EFCore berjalan di iOS dan menyediakan proyek untuk kodenya . Saya telah menarik dan menjalankan proyek itu sendiri untuk memeriksa apakah proyek tersebut berhasil, tetapi setelah menambahkan relasi nullable ke model sederhananya, proyek tersebut kemudian gagal memuat dan membuat item dengan kesalahan ini:

System.ExecutionEngineException: Mencoba metode kompilasi JIT '(wrapper runtime-invoke):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)' saat berjalan dalam mode aot-only. Lihat https://developer.xamarin.com/guides/ios/advanced_topics/limitations/ untuk informasi lebih lanjut.

Kesalahan ini tidak terjadi saat dijalankan di simulator, hanya di perangkat.

Pertanyaan saya adalah apakah ada yang berhasil membuat Nullables bekerja dengan EFCore di Xamarin iOS?

Terima kasih banyak, Will.

P.S. Kami terbuka untuk mengubah versi EFCore/Xamarin.iOS/Mono untuk menyelesaikan masalah.


person William Gilmour    schedule 09.08.2017    source sumber
comment
Anda mungkin menemukan github.com/aspnet/EntityFramework/issues/9249 ini   -  person Smit    schedule 10.08.2017
comment
Ini juga terlihat terkait bugzilla.xamarin.com/show_bug.cgi?id=58424 Masalah ini merupakan titik pemblokiran untuk proyek kami.   -  person TomTom    schedule 10.08.2017
comment
Ya, saya menemukan dua masalah ini kemarin setelah memposting. Sedang dalam pembahasan di Xamarin Bugzilla.   -  person William Gilmour    schedule 11.08.2017


Jawaban (1)


Ini adalah masalah umum. iOS memiliki beberapa batasan pada obat generik, nullable... karena Apple melarang pembuatan kode saat runtime.

Masalah ini direferensikan di github untuk kerangka entitas: Xamarin iOS : Crash saat saya menambahkan baris ke tabel dengan nullable ketik atau dengan banyak kolom

Dan pada bugzilla Xamarin : BugĀ 58424 - Xamarin iOS : EF Core mogok saat saya menambahkan baris ke tabel dengan tipe nullable atau dengan banyak kolom

person Guillaume    schedule 29.08.2017