Как установить IsModified в false для свойства навигации - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть Article и ApplicationUser классы моделей:

public class ApplicationUser
{
    ...

}

public class Article
{
    ...

    public ApplicationUser CreatedBy { get; set; }
}

Я попытался установить для свойства CreatedBy значение false таким образом:

base.Entry(entity).Property(x => x.CreatedBy).IsModified = false;

Но я получаю эту ошибку:

Доступ к свойству «CreatedBy» для типа объекта «ApplicationUser» осуществляется с помощью метода «Property», но определяется в модели как свойство навигации.Для доступа к свойствам навигации используйте метод «Ссылка» или «Коллекция».

Ответы [ 2 ]

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

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

public class Article
{
    public int Id { get; set; }

    public string UserID { get; set; }

    // ...

    [ForeignKey("UserID")]
    public ApplicationUser CreatedBy { get; set; }
}

Как описано в сообщении об ошибке, CreatedBy является здесь свойством навигации.

Поэтому измените свой коддо

Entry(entity).Reference(x => x.CreatedBy).IsModified = false;,

Может работать как положено.

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

Я изменил доступ к CreatedBy, используя метод «Ссылка» вместо метода «Свойство»:

base.Entry(entity).Reference(x => x.CreatedBy).IsModified = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...