Использование EntityFramework Core 2.2 для заполнения данных, имеющих ключ, сгенерированный базой данных - PullRequest
0 голосов
/ 21 февраля 2019

Я использую EF Core 2.2, использую подход, основанный на коде.

У меня есть класс сущности:

public class Client
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int ClientID { get; set; }
    public string Name { get; set; }
}

, и я отправляю свои данные следующим образом:

var client = new Client { Name = "TestClient"};
modelBuilder.Entity<Client>().HasData(client);

Но я получаю сообщение об ошибке при попытке добавитьМиграция:

Начальный объект для типа объекта "Клиент" не может быть добавлен, поскольку для свойства "ClientID" требуется ненулевое значение.Подумайте о предоставлении отрицательного значения, чтобы избежать коллизий с не начальными данными.

ClientID должен генерироваться автоматически, и я не хочу его указывать.Есть ли обходной путь к этому или эта функциональность просто еще не реализована?

1 Ответ

0 голосов
/ 21 февраля 2019

С начальными данными вы должны указать ключ.В противном случае он не будет знать, какая запись должна быть там. задокументировано здесь .

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