Я не переименовал, но EF выдает ошибку в столбце с несколькими идентификаторами - PullRequest
0 голосов
/ 09 сентября 2018

Итак, у меня есть таблица, которая уже заполнена и построена с EF

public class Item
{
    public int Id { get; set; }
    public string Description { get; set; }

    //ForeignKey from SubCats table
    public int? SubCatId { get; set; }
    public SubCat SubCat { get; set; }

    public byte? Image { get; set; }

    public int PointId { get; set; }
    public int Points { get; set; }
}

В любом случае, я соединил свою базу данных со студией управления сервером sql, и EF выдал ошибку, что все мои миграции ожидают, хотя я уже обновлял базу данных при каждой миграции, но я думаю, что это как-то связано со студией управления сервером sql! поэтому я попытался запустить update-database снова, и он дал мне эту ошибку:

Для таблицы «Предметы» указано несколько столбцов идентификаторов. Допустим только один столбец идентификаторов на таблицу.

Я искал его, и все ответы были о переименовании ключевого столбца, но проблема в том, что я ничего не переименовал! пожалуйста, дайте мне решение этой проблемы p.s Я новичок в этом, поэтому, пожалуйста, будьте проще, чтобы я мог понять

1 Ответ

0 голосов
/ 09 сентября 2018

Укажите первичный ключ и внешние ключи для Item в явном виде следующим образом:

public class Item
{
     [Key]
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
     public int Id { get; set; }
     public string Description { get; set; }

     [ForeignKey("SubCat")]
     public int? SubCatId { get; set; }
     public SubCat SubCat { get; set; }

     public byte? Image { get; set; }

     [ForeignKey("Point")]
     public int PointId { get; set; }
     public Point Point { get; set; }
}

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...