有一个使用 GUID 作为主键的遗留代码库,并且表已经存在于生产中并具有 10-2000 万条记录。现在,我想使用代码优先方法将主键数据类型从 GUID 更改为 int,以实现更好的索引和更少的碎片。 数据库是SQL Server。
查了很多网站都没有解决。 只是想检查一下过去是否有人已经这样做过。 EF 核心。
您只需将数据类型从 Guid 更改为 int,添加迁移并更新数据库即可。但是,由于 EF Core 需要重新创建标识列,因此属性名称也必须更改。由于该列称为 Id 并且也具有此 Key 属性,因此 Id 会自动递增 1。
来自:
[Key]
public Guid PurchaseId { get; set; }
致:
[Key]
public int Id { get; set; }