我有一个POCO模型,主键属性映射到具有不同名称的列上。实体框架迁移: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'在目标表或视图中不存在 。
它看起来好像在生成sql时没有使用columnbuilder的name属性。在迁移的-verbose选项给我这个SQL:
CREATE TABLE [dbo].[dtlTransactions] (
[intTransactionID] [bigint] NOT NULL IDENTITY,
--...other cols
CONSTRAINT [PK_dbo.dtlTransactions] PRIMARY KEY ([Id])
任何想法?这是一个明显的错误?
FWIW,对于TableBuilder中的ForeignKey和Index似乎存在同样的错误。 –