Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 实体框架在运行时查询中向表名添加了额外的's',如果添加'PluralizingTableNameConvention',可以避免额外的's'引发错误_C#_Entity Framework_Entity Framework 6 - Fatal编程技术网

C# 实体框架在运行时查询中向表名添加了额外的's',如果添加'PluralizingTableNameConvention',可以避免额外的's'引发错误

C# 实体框架在运行时查询中向表名添加了额外的's',如果添加'PluralizingTableNameConvention',可以避免额外的's'引发错误,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我有3个表的简单上下文 数据库表已经存在,但使用代码优先的方法 模型Device.cs是- public class Device { public System.Guid Id { get; set; } public string Name{ get; set; } } public class sampledbContext : DbContext { public sampledbContext ()

我有3个表的简单上下文

数据库表已经存在,但使用代码优先的方法

模型Device.cs是-

 public class Device
    {
        public System.Guid Id { get; set; }
        public string Name{ get; set; }

    }

public class sampledbContext : DbContext
    {
        public sampledbContext ()
           : base("name=sampledbContext ")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {

          modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }

        public virtual DbSet<Device> Devices { get; set; }
    }
数据库已经创建,我尝试在这里使用代码优先的方法。 我还没有更新数据库


我尝试了
启用迁移
更新数据库
它创建了名为
s
的表,比如
设备
为什么<是否添加了代码>s?

您已在以下行中关闭自动迁移:

Database.SetInitializer<IoTSimulatordbContext>(null);
Database.SetInitializer(null);

因此,您需要手动运行updatedatabase来更新模型(您可以通过packagemanager控制台运行)。如果表中有任何数据,则迁移可能会失败,因为可能会丢失数据。在这种情况下,您需要先删除表中的所有数据,或者先创建自定义迁移脚本来处理数据复制。由于这似乎是一个测试,因此最好从一开始就关闭多元化,重新启动迁移项目。

您已经关闭了行中的自动迁移:

Database.SetInitializer<IoTSimulatordbContext>(null);
Database.SetInitializer(null);

因此,您需要手动运行updatedatabase来更新模型(您可以通过packagemanager控制台运行)。如果表中有任何数据,则迁移可能会失败,因为可能会丢失数据。在这种情况下,您需要先删除表中的所有数据,或者先创建自定义迁移脚本来处理数据复制。由于这似乎是一个测试,因此最好从一开始就关闭多元化,重新启动迁移项目。

您可以添加一个DataAnnotation来描述表类中的模式和表名,如下所示:

[表(“设备”,Schema=“MySchema”)]


这将为您提供对命名的更多控制。

您可以添加一个DataAnnotation来描述表类中的模式和表名,如下所示:

[表(“设备”,Schema=“MySchema”)]


这将为您提供对命名的更多控制。

错误是什么?支持“sample dbContext”上下文的模型在创建数据库后已更改错误是什么?支持“sample dbContext”上下文的模型在创建数据库后已更改