Меня интересует, в чем реальная разница между этим
e.HasIndex(c => new { c.UserId, c.ApplicationId, c.Value }).IsUnique();
и этим
e.HasAlternateKey(c => new { c.UserId, c.ApplicationId, c.Value });
в конфигурации EIF Core Fluent API.
Использование В данном случае у нас есть PK с именем Id
, тогда у нас есть вторичный (альтернативный ключ), который является составным ключом, который построен из следующих атрибутов: UserID
ApplicationId
и Value
. Единственное, что я нашел в своем вопросе, это следующая цитата: https://www.learnentityframeworkcore.com/configuration/fluent-api/hasindex-method
"Хотя в большинстве практических аспектов это похоже, это не то же самое, что создание уникального ограничение на столбец, которое может быть достигнуто путем создания альтернативного ключа для свойства. "
Я действительно не понимаю концепцию этой разницы, и я также не знаю разницу между уникальным ограничением и уникальный индекс.
Если бы кто-то мог объяснить мне определения (и разницу между ними), я был бы очень благодарен.