EF7 在创建数据库时导致 .Net 本机错误
EF7 causes error with .Net native when creating database
我在 UWP
应用程序中将 EF7
与 SQLite
一起使用,情况如下:
在Model
的OnConfiguring
方法中,我使用了这段代码:
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
上打开此类问题
我在 UWP
应用程序中将 EF7
与 SQLite
一起使用,情况如下:
在Model
的OnConfiguring
方法中,我使用了这段代码:
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
上打开此类问题