Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net 5.0 EF迁移将存储的过程模型添加到ModelSnapshot_C#_Entity Framework_C# 5.0 - Fatal编程技术网

C# .net 5.0 EF迁移将存储的过程模型添加到ModelSnapshot

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) {

我最近升级到.NET5.0,我使用实体框架。我通过添加一个额外字段编辑了一个数据库模型,并在powershell中运行了我的普通脚本

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。您似乎对运行时或编程语言没有任何问题。你应该在