Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: / 7 сообщений из 7, страница 1 из 1
09.04.2020, 22:27
    #39945614
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
Модель:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[Table("DirCustomers")]
public class DirCustomer
    {
        [Key]
        public int DirCustomersID { get; set; }

        [NotMapped]
        public int? DirCustomersIDXXX { get; set; }
}



Запрос:
Код: c#
1.
2.
3.
Models.Dir.DirCustomer dirCustomer1 = await db.DirCustomers.Where(x => ...).FirstOrDefaultAsync();
dirCustomer1.DirCustomersIDXXX = 3;
Models.Dir.DirCustomer dirCustomer2 = await db.DirCustomers.Where(x => ...).FirstOrDefaultAsync();



Ну и в dirCustomer2 так же будет:
dirCustomer2.DirCustomersIDXXX = 3;

Можно ли сделать, так что бы у dirCustomer2 параметр DirCustomersIDXXX не авто-заполнялся?
...
Рейтинг: 0 / 0
09.04.2020, 22:40
    #39945615
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
potkin
Можно ли сделать, так что бы у dirCustomer2 параметр DirCustomersIDXXX не авто-заполнялся?
Это одна и та же сущность, почему она не должна заполняться.

Можно, например, воспользоваться AsNoTracking, но всё зависит от конечной цели.
...
Рейтинг: 0 / 0
09.04.2020, 22:48
    #39945617
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
"Где-то" читал, что [NotMapped] к этому не относится ...
...
Рейтинг: 0 / 0
09.04.2020, 22:58
    #39945619
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
potkin
"Где-то" читал, что [NotMapped] к этому не относится ...

нотмеппед означает только, что свойству не сопоставляется поле в БД - оно существует только в объекте CLR. Тут запрашивается сущность - свойство остается пустым, потом свойство этой сущности руками меняется, а когда эта сущность запрашивается второй раз, то возвращается не новый экземпляр класса, а ссылка на ту же сущность, что получили до этого (у которой свойство и поменяли), вот отсюда такой и результат. Это, считай, как разница между class и struct.
...
Рейтинг: 0 / 0
10.04.2020, 00:15
    #39945651
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
potkin
"Где-то" читал, что [NotMapped] к этому не относится ...
Какое отношение имеет атрибут свойства класса к экземпляру класса? Ты имеешь экземпляр класса и неважно, через какую именно переменную ты вносишь в него изменения.
Хочешь другой экземпляр класса - используй AsNoTracking. Естественно, это будет автономный класс и сам по себе он в базу потом не сохранится.
...
Рейтинг: 0 / 0
10.04.2020, 00:35
    #39945655
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
Shocker.Pro
Хочешь другой экземпляр класса - используй AsNoTracking. Естественно, это будет автономный класс и сам по себе он в базу потом не сохранится.

Потом приаттачить можно :-) Но я, если честно, вообще не втыкаю, что у автора за кейс такой загадочный.
...
Рейтинг: 0 / 0
10.04.2020, 00:45
    #39945658
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
LINQ:
fkthat
Потом приаттачить можно
я и сказал
Shocker.Pro
сам по себе
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ: / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]