我在EF Code First中创建了一个现有应用程序的重写,但我需要从现有应用程序的数据库中导入一些数据。这是我的实体类的定义:如何暂时关闭EF Code First中的IDENTITY列?
public class Business : EntityBase
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int AccountNumber { get; set; }
现在,进口记录需要从旧系统保留其AccountNumber
值。但是,新值应使用数据库生成的IDENTITY
值。
如何在我导入旧记录时关闭IDENTITY
,然后在应用程序的剩余生命周期中将其重新打开?在导入记录之前执行此操作无效:
context.Database.ExecuteSqlCommand("set identity_insert Businesses on");