C# .net 5.0 EF迁移将存储的过程模型添加到ModelSnapshot
我最近升级到.NET5.0,我使用实体框架。我通过添加一个额外字段编辑了一个数据库模型,并在powershell中运行了我的普通脚本C# .net 5.0 EF迁移将存储的过程模型添加到ModelSnapshot,c#,entity-framework,c#-5.0,C#,Entity Framework,C# 5.0,我最近升级到.NET5.0,我使用实体框架。我通过添加一个额外字段编辑了一个数据库模型,并在powershell中运行了我的普通脚本 dotnet ef migrations add mig_name 由于C#升级,升级脚本试图将我用于存储过程的所有无键模型添加到ModelSnapshot文件中。这意味着它试图从数据库中删除这些表,即使它们不存在 protected override void Up(MigrationBuilder migrationBuilder) {
dotnet ef migrations add mig_name
由于C#升级,升级脚本试图将我用于存储过程的所有无键模型添加到ModelSnapshot文件中。这意味着它试图从数据库中删除这些表,即使它们不存在
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "SimpleStoredProc");
migrationBuilder.DropTable(
name: "StoredProc2");
migrationBuilder.DropTable(
name: "StoredProc3");
}
等等
我已经阅读了关于这个主题的文章,并尝试在我的模型定义之上添加[Keyless]。这并没有解决它
我可以手动编辑ModelSnapshot文件并编辑掉所有的无键表,但是当我运行另一个迁移脚本时,它们都被放回了那里
我的DbContext文件看起来像
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SimpleStoredProc>(eb => { eb.HasNoKey(); eb.ToView(null); });
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
实体(eb=>{eb.HasNoKey();eb.ToView(null);});
}
我花了一天时间在这上面!快把我逼疯了。是否有其他人从Net core 3.1升级到.Net 5.0并在EF迁移方面遇到问题?请检查您的版本。没有.NET Core 3.1,C#5.0比.NET Core早得多。您的运行时和版本是什么?EF的版本是什么?@PauloMorgado抱歉,我确实有点搞混了。我指的是新的.NET5.0。我从net core 3.1升级。谢谢你应该改变你的问题和标签来关注正确的问题。您的问题似乎是从EntityFrameworkCore 3.1.x迁移到5.0.0。您似乎对运行时或编程语言没有任何问题。您应该在提交问题,请检查您的版本。没有.NET Core 3.1,C#5.0比.NET Core早得多。您的运行时和版本是什么?EF的版本是什么?@PauloMorgado抱歉,我确实有点搞混了。我指的是新的.NET5.0。我从net core 3.1升级。谢谢你应该改变你的问题和标签来关注正确的问题。您的问题似乎是从EntityFrameworkCore 3.1.x迁移到5.0.0。您似乎对运行时或编程语言没有任何问题。你应该在