Мне нужно сложное уникальное ограничение для свойства объекта Name
моего объекта, которое уникально для Category
(для которого у него есть FK).Создайте сложное уникальное ограничение/индекс в EF Core
Так что-то вроде этого:
entityTypeBuilder
.HasIndex(i => new { i.Name, i.Category.Id })
.IsUnique();
Но это терпит неудачу, когда я произвожу миграцию, из-Category.Id
свойства навигации.
Я знаю, что могу кодировать значения как строки, но я не хочу потерять статическую типизацию.
Какие у меня варианты?
Да, но это грязно. Это единственный вариант? – grokky
Почему вы думаете, что это грязно? Добавление свойства внешнего ключа не является беспорядочным, почему вы так думаете? @grokky – kizilsu
@grokky - Я бы сказал, что не определение свойства внешнего ключа беспорядочно. [Документы EF рекомендуют это] (https://docs.microsoft.com/en-us/ef/core/modeling/relationships#no-foreign-key-property), и я предпочел бы не вводить свойство shadow , – steamrolla