【发布时间】:2015-09-29 21:21:55
【问题描述】:
我想标题说明了一切。我必须更改一个表,以便不再自动生成 ID PK 列,因此我可以实际插入特定值。
现在表实际上是一个复合键。如下;
[Key,Column("driverId", Order=0)]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public override int ID { get; set; }
[Key,Column("type", Order=1)]
[ForeignKey("DriverType")]
public int DriverTypeId { get; set; }
public virtual DriverType DriverType { get; set; }
现在我添加了 DatabaseGenerated 属性并运行了迁移,它确实创建了以下内容;
DropPrimaryKey("dbo.Driver");
AlterColumn("dbo.Driver", "driverId", c => c.Int(nullable: false));
AddPrimaryKey("dbo.Driver", new[] { "driverId", "type" });
即AlterColumn 中没有 Identity bool。
但是,当我查看表格的组成时,我有以下内容
CREATE TABLE [dbo].[Driver] (
[driverId] INT IDENTITY (1, 1) NOT NULL,
删除 IDENTITY (1,1) 是否安全?
【问题讨论】:
标签: c# entity entity-framework-6