Отображение частного поля в столбец, не работающий в EF Core 3.1 - PullRequest
0 голосов
/ 11 февраля 2020

В классе у меня есть личное поле:

private string _extraSettings;

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

modelBuilder.Entity<MyClass>(e =>
{
    e.Property<string>("ExtraSettings").HasField("_extraSettings").UsePropertyAccessMode(PropertyAccessMode.Field);
});

Это прекрасно работает в EF Core 2.2, но перестал работать в EF Core 3.1 со следующей ошибкой:

The specified field '_extraSettings' cannot be used for the property 'MyClass.ExtraSettings' because it does not match the property name

Класс MyClass не имеет свойства ExtraSettings, но по какой-то причине это работает в 2.2 - почему он не работает в 3.1 и что мне нужно сделать, чтобы избавиться от этой ошибки?

1 Ответ

0 голосов
/ 11 февраля 2020

С EF Core 3.0 :

свойство только для поля должно точно соответствовать имени поля.

Таким образом, вы можете сделать следующее :

modelBuilder.Entity<MyClass>(e =>
{
    e.Property<string>("_extraSettings").HasColumnName("ExtraSettings");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...