Я вручную перехожу из .NET Framework в .NET Core и работаю над EF и DTO.
Мне это не нравится - у меня есть индексы чтения, которые не поддерживаются с помощью аннотаций и поэтомуВ настоящее время я смешиваю текущие API и аннотации, что является запахом кода.Тем не менее, похоже, что я должен продолжить эту комбинацию.
Мой вопрос заключается в том, могу ли я достичь этого только с помощью свободного API.Моя таблица имеет как первичный ключ, так и уникальные ограничения.
Мой объект выглядит как
class Person
{
public int Id {get;set;}
public string UniqueToken {get;set;}
}
Однако я не могу добавить следующее
modelBuilder.Entity<Person>()
.HasKey(a => a.Id)
.HasIndex(a => a.UniqueToken).IsUnique(); //this is what I would like to add but I can't.
IЯ пытался сделать что-то вроде хакерской работы вокруг
modelBuilder.Entity<Person>()
.HasKey(a => a.Id);
modelBuilder.Entity<Person>()
.HasIndex(a => a.UniqueToken).IsUnique();
Снова, добавление этой записи дважды кажется небольшим недостатком… Кажется, что Fluent хочет просто связать методы в цепочку.на этом, но я очень теряюсь.Можно ли добавить как первичный ключ, так и ограничение уникальности?