我有一个 POCO 模型,其主键属性映射到具有不同名称的列。
该模型类似于:
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”。
似乎在生成 sql 时没有使用 columnbuilder 的 name 属性。迁移的 -verbose 选项给了我这个 sql:
CREATE TABLE [dbo].[dtlTransactions] (
[intTransactionID] [bigint] NOT NULL IDENTITY,
--...other cols
CONSTRAINT [PK_dbo.dtlTransactions] PRIMARY KEY ([Id])
有任何想法吗?这是一个明显的错误吗?