Я новичок в EF и стараюсь сделать первые шаги с помощью первого подхода кода в ETF6.0, и теперь у меня есть проблема.
У меня есть свойство
[Key]
public string FooId { get; set; }
который является моим основным ключом для модели.
Но если я запустил
PM > Обновление базы данных
в консоли диспетчера пакетов для обновления ожидающих миграций в базе данных, я получаю следующую ошибку:
Столбец "FooId" должен иметь тип данных int, bigint, smallint, tinyint, или десятичный или числовой, с шкалой 0, и ограничивается быть невыполнимым.
Если я изменю PK в моей модели на
[Key]
public int FooId { get; set; }
все работает нормально.
Но мне понадобится, чтобы PK был типа string, потому что в моем случае он абсолютно чувствует. Я знаю, что есть недостатки, но для меня это необходимо.
Я видел более старое сообщение здесь Как сделать строку в качестве первичного ключа в структуре сущности!.
Но это, кажется, не решает мою проблему, или я просто не понимаю.
Неужели я не могу использовать строку как PK в базе данных SQL?
Или есть способ сделать это?