Здравствуйте.
Решил опробовать Fluent api в Entity Framework'е.
Пытаюсь поменять у простого класса модели имя ключевого свойства со стандартного Id на Ident, чтобы установить новое имя ключа командой
modelBuilder.Entity().HasKey(p => new { p.Ident, p.Name });
При этом после изменения имени свойства в классе Phone с Id на Ident, как показано ниже
public class Phone
{
// public int Id { get; set; }
public int Ident { get; set; }
public string Name { get; set; }
public int Price { get; set; }
}
среда требует использовать миграцию, т.к. модель изменена.
Однако, в ходе миграции после команды update-database в консоли выдается ошибка: "Для таблицы "Phones" указано несколько столбцов идентификаторов. Допускается только один столбец идентификаторов в каждой таблице."
При использовании других правил Fluent Api, скажем, игнорирования какого-то свойства, миграция происходит нормально.
Что тут можно сделать, ну кроме того, что изначально использовать Fluetn api на "свежей" модели?
Код небольшого консольного проекта с этой ошибкой:
https://github.com/Alexis1784/question.git
Использован .net 4.5 и последняя версия EF.