EF7 在创建数据库时导致 .Net 本机错误

EF7 causes error with .Net native when creating database

我在 UWP 应用程序中将 EF7SQLite 一起使用,情况如下:

ModelOnConfiguring方法中,我使用了这段代码:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
     var path = Path.Combine(ApplicationData.Current.LocalFolder.Path, _dbFileName);
     optionsBuilder.UseSqlite($"Data Source={path};");
}

该应用程序在 debug 模式下正常运行,在 release 模式下也正常运行 .Net native,但仅在 Phone 设置为 English 时,当 phone 设置为 French.

时应用程序崩溃

所以我改用了这段代码:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
      optionsBuilder.UseSqlite($"Filename={_dbFileName}");
}  

该应用程序现在可以在法语和英语设备上完美运行,但在设置为 Arabic 的设备上会崩溃。

崩溃是由以下异常引起的:

看来您遇到了几个错误的混合。首先,UWP 上的 EF Core 存在 RC1 的已知问题。这些已在 RC2 中修复,但需要将 VS 中的 UWP 工具版本更新到 1.3.1 或更高版本。参见 https://github.com/aspnet/Announcements/issues/170. Also, here are some release notes to guide your update from RC1 to RC2. https://docs.efproject.net/en/latest/miscellaneous/rc1-rc2-upgrade.html

其次,它适用于某些语言但不适用于其他语言这一事实​​意味着这可能是 EF Core 对 i18n 的支持中的错误。您可以在 https://github.com/aspnet/EntityFramework/issues

上打开此类问题