C# 尝试创建重复列的实体框架
我正在使用实体框架。该表已存在my_列。我将属性my_列添加到类中以访问该列。然后,程序似乎试图创建列,但失败了,因为它已经存在C# 尝试创建重复列的实体框架,c#,entity-framework,C#,Entity Framework,我正在使用实体框架。该表已存在my_列。我将属性my_列添加到类中以访问该列。然后,程序似乎试图创建列,但失败了,因为它已经存在 Column names in each table must be unique. Column name 'my_column' in table 'my_table' is specified more than once. 有没有办法让它不尝试创建列并识别现有列是它应该使用的列?您可以在更新batabase之前编辑迁移。删除重复项,看看会发生什么
Column names in each table must be unique. Column name 'my_column' in table 'my_table' is specified more than once.
有没有办法让它不尝试创建列并识别现有列是它应该使用的列?您可以在更新batabase之前编辑迁移。删除重复项,看看会发生什么
migrationBuilder.CreateTable(
name: "InvoiceConsumers",
columns: table => new
{
…,
InvoiceId = table.Column<int>(nullable: false),
InvoiceId1 = table.Column<int>(nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_InvoiceConsumers", x => x.Id);
table.ForeignKey(
name: "FK_InvoiceConsumers_Consumers_ConsumerId",
…);
table.ForeignKey(
name: "FK_InvoiceConsumers_Invoices_InvoiceId",
…
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
…
column: x => x.InvoiceId1,
principalTable: "Invoices",
…
);
});
migrationBuilder.CreateTable(
名称:“发票消费者”,
列:表=>new
{
…,
InvoiceId=table.Column(可空:false),
InvoiceId1=table.Column(可空:true)
},
约束:表=>
{
表.PrimaryKey(“PK_InvoiceConsumers”,x=>x.Id);
表1.外键(
名称:“FK_发票消费者_消费者_消费者”,
…);
表1.外键(
名称:“FK\U发票消费者\U发票\U发票ID”,
…
onDelete:引用。级联);
表1.外键(
…
列:x=>x.InvoiceId1,
原则:“发票”,
…
);
});
您在db中的该列上是否有所需的数据?如果没有,您可以尝试更新数据库-v-f
甚至删除整个表,以便重新生成迁移。是否更改了数据类型?还是大写?@IsabelHM没有任何代码可以发布,真的,实体框架对我来说是一个黑匣子,它试图在它的own@Steve我过去常常通过删除列并让它创建来解决这个问题。然后,任何后续的运行都会成功地知道列在那里,而不会尝试重新创建它。但我无法删除它,因此我提出了这个问题。@DStanley是的,正确的类型和大小写。