从表Code First Entity Framework中删除标识插入
本文关键字:删除 标识 插入 Framework Code First Entity 从表 | 更新日期: 2023-09-27 18:14:57
我想标题已经说明了一切。我必须更改一个表,使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中没有标识bool。
然而,当我看表的组成时,我有以下
CREATE TABLE [dbo].[Driver] (
[driverId] INT IDENTITY (1, 1) NOT NULL,
删除IDENTITY(1,1)是否安全?
回答你的问题,不,这样做是不安全的。
将[DatabaseGenerated(DatabaseGeneratedOption.None)]添加到键的两个部分