У меня есть две сущности со многими отношениями. Мне нужно знать, какой индекс будет лучше для его таблицы соединений. Давайте рассмотрим пример classi c,
Объекты:
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public List<PostTag> PostTags { get; set; }
}
public class Tag
{
public int TagId { get; set; }
public List<PostTag> PostTags { get; set; }
}
public class PostTag
{
public int PostId { get; set; }
public Post Post { get; set; }
public int TagId { get; set; }
public Tag Tag { get; set; }
}
Вот PostTag
Конфигурация
modelBuilder.Entity<PostTag>().HasKey(t => new { t.PostId, t.TagId });
Это создает IX_PostTag_TagId (Non-Unique,Non-Clustered)
и PK_PostTag (Clustered)
в sql server
.
Все записи в этой соединительной таблице будут уникальными. Поэтому изменение вышеуказанной конфигурации, как показано ниже, будет иметь смысл, и это целесообразно?
modelBuilder.Entity<PostTag>().HasIndex(t => new { t.PostId, t.TagId }).IsUnique();
Пожалуйста, помогите.