Переименуйте таблицу в Entity Framework Core.C#

Место общения программистов C#
Ответить
Anonymous
 Переименуйте таблицу в Entity Framework Core.

Сообщение Anonymous »

Я пытаюсь переименовать таблицу в EF Core.
Если я просто изменю имя, будет создана миграция, в результате которой старая таблица будет удалена и создана таблица с новым именем. . Это означает, что я теряю все свои данные, что определенно не работает.
Поэтому я прочитал в Интернете статью, в которой говорилось, что нужно переименовать таблицу следующим образом.

Код: Выделить всё

public DbSet
 BolDocumentFields { get; set; }

protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity().ToTable("PdfTemplateFields");

// Additional code

}
Однако это также приведет к удалению старой таблицы и потере всех моих данных.

Код: Выделить всё

protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "BolDocumentFields");

migrationBuilder.CreateTable(
name: "PdfTemplateFields",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
BolDocumentId = table.Column(type: "int", nullable: false),
FieldType = table.Column(type: "int", nullable: false),
SortOrder = table.Column(type: "int", nullable: false),
OnArrival = table.Column(type: "bit", nullable: false),
Required = table.Column(type: "bit", nullable: false),
ReadOnly = table.Column(type: "bit", nullable: false),
Name = table.Column(type: "nvarchar(80)", maxLength: 80, nullable: false),
DefaultValue = table.Column(type: "nvarchar(350)", maxLength: 350, nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_PdfTemplateFields", x => x.Id);
table.ForeignKey(
name: "FK_PdfTemplateFields_BolDocuments_BolDocumentId",
column: x => x.BolDocumentId,
principalTable: "BolDocuments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});

migrationBuilder.CreateIndex(
name: "IX_PdfTemplateFields_BolDocumentId",
table: "PdfTemplateFields",
column: "BolDocumentId");
}
Так как же мне переименовать таблицу, не потеряв данные?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ework-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»