У меня есть модель POCO, для которой свойство первичного ключа отображается на столбец с другим именем.Entity Framework Migrations: PrimaryKey
модель что-то вроде:
public class Transaction
{
public long Id { get; set; }
//....more props
}
Так что миграция выглядит примерно так:
CreateTable(
"dbo.dtlTransactions",
c => new
{
Id = c.Long(nullable: false, identity: true, name: "intTransactionID"),
//...more cols
})
.PrimaryKey(t => t.Id);
При выполнении миграции, однако, я получаю:
System.Data .SqlClient.SqlException (0x80131904): Имя столбца 'Id' does не существует в целевой таблице или представлении.
Кажется, что при создании sql-кода свойство name строителя столбцов не используется. Вариант -verbose при миграции дает мне этот код:
CREATE TABLE [dbo].[dtlTransactions] (
[intTransactionID] [bigint] NOT NULL IDENTITY,
--...other cols
CONSTRAINT [PK_dbo.dtlTransactions] PRIMARY KEY ([Id])
Любые идеи? Является ли это очевидной ошибкой?
FWIW, такая же ошибка существует для ForeignKey и Index на TableBuilder. –