Я использую EF Core 2.0 для создания таблицы, в которой первичный ключ — это GUID
, а кластеризованный индекс — это автоматически увеличивающийся столбец INT
. Но я получаю эту ошибку:
Невозможно создать более одного кластеризованного индекса для таблицы «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; }
}
Свободный API
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
.
Спасибо.
modelBuilder.Entity<Tenant>().HasAlternateKey(t => t.TenantId); //Auto increment modelBuilder.Entity<Tenant>().HasKey(t => t.ClusteredId);
будет работать на вас - person vivek nuna   schedule 16.05.2018