这只是在此线程上添加解决方案。@MrBlueSky 在上面的评论中添加解决方案的归档链接。但是,DbConfiguration
在链接上使用的,在最新的 Effort 中不再存在。解决方案仍然存在于Effort.EF6 [version="1.3.0"]
. 并且可以使用 on 方法SetIdentityFields
打开EffortConnection.DbManager
或关闭标识字段
if (Effort.DbConnectionFactory.CreateTransient() is EffortConnection connection)
{
connection.Open();
connection.DbManager.SetIdentityFields(false);
connection.DbManager.ClearMigrationHistory();
connection.Close();
}
开启
// Add data with explicitly set id
Person initPerson = new Person { Id = 5, FirstName = "John", LastName = "Doe" };
dataInitContext.People.Add(initPerson);
dataInitContext.SaveChanges();
Assert.AreEqual(5, initPerson.Id);
// Enable identity field
connection.Open();
connection.DbManager.SetIdentityFields(true);
connection.Close();