在Xamarin Android项目中使用EF Core创建迁移。

11

我尝试在Xamarin.Android项目中使用EFCore与SQLite。我还添加了Microsoft.EntityFrameworkCore.Tools包。当我尝试创建数据库迁移时,出现各种错误。

在命令行上运行dotnet ef migrations add migrationname时,我会收到以下错误:

找不到可用于匹配命令“dotnet-ef”的可执行文件。

在包管理器控制台中运行Add-Migration migrationname时,我会收到以下错误:

启动项目“MyProject”目标为“MonoAndroid”。Entity Framework Core包管理器控制台工具不支持此框架。

有什么方法可以解决这个问题吗?我必须使用EF6而不是EFCore吗?

1个回答

7

不支持框架的建议是将您的DbContext代码移动到.NET标准类库中,并使用带有工具的虚拟.NET Core控制台应用程序。

cd MyDbContextProject
dotnet ef migrations add MyMigration --startup-project ..\MyDummyProject

好的。在发布问题后我找到了这个,但是想看看是否有更好的解决方案。 - Mathias Rönnlund
你想要的功能是#7152 - bricelam
包管理器控制台工具可与.NET Core或.NET Framework项目一起使用。在.NET Standard类库中具有EF Core模型的应用程序可能没有.NET Core或.NET Framework项目。例如,这适用于Xamarin和通用Windows平台应用程序。在这种情况下,您可以创建一个.NET Core或.NET Framework控制台应用程序项目,其唯一目的是作为工具的启动项目。该项目可以是一个虚拟项目,没有实际代码 - 它只需要提供工具的目标。 - Askar Rayapov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接