我正在使用EF Core 2.0创建一个表,其中主键是GUID,聚集索引是自增的INT列。但是我遇到了这个错误:
“无法在表'Tenants'上创建多个聚集索引。在创建另一个之前,请删除现有的聚集索引'PK_Tenants'。”
以下是创建实体和Fluent API的代码。
Tenant.cs
请建议如何解决此错误并为
谢谢。
“无法在表'Tenants'上创建多个聚集索引。在创建另一个之前,请删除现有的聚集索引'PK_Tenants'。”
以下是创建实体和Fluent API的代码。
Tenant.cs
public class Tenant : EntityBase
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ClusteredId { get; set; }
public new Guid TenantId { get; set; }
public string TenantCode { get; set; }
}
FluentAPI
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<Tenant>().HasIndex(c => c.TenantId).ForSqlServerIsClustered(false);
builder.Entity<Tenant>().HasIndex(c => c.ClusteredId).HasName("ClusteredId").ForSqlServerIsClustered(true);
base.OnModelCreating(builder);
}
请建议如何解决此错误并为
GUID
创建主键以及为自增长的INT
列创建聚集索引。谢谢。