我想为我的实体实现“默认”ID 生成支持。
保存实体时,我希望 EntityFramework 仅在尚未设置的情况下为实体生成 id 值。如果 ID 已经有一个非空、非零值,我希望在将实体保存在数据库中时保留该实体 ID。
我正在将数据从旧数据模型(从旧数据库创建的 EntityFramework 模型)迁移到新创建的(模型优先)EntityFramework 模型。我们称旧模型为 A,新模型为 T。
通常,我希望 T 实体在保存时设置其 ID(它们都是 int64),以便长期使用新模型。
目前,我正在根据要从中迁移的相应 A 实体的 Id 显式分配 T 实体 Id。这样迁移结果很容易检查。
但是,虽然我可以在迁移例程中将 T 实体的 id 分配给与 A 实体相同的 id,但在我保存实体后,Id 值已更改。
有没有办法覆盖 T 模型中所有实体的默认保存方法,因此只有在保存之前尚未在实体中设置 id 值时才分配 id 值?
我在这里查看了其他一些 EntityFramework/Id 问题,但在我看来,他们都没有问同样的问题。
感谢任何线索。