Size: a a a

var chat = new Chat();

2020 May 30

VL

Vova Lantsov in var chat = new Chat();
Вадим
то есть, сделать селект из БД, изменить свойства в памяти и отправить небольшой (на несколько свойств) апдейт в БД будет проще чем отправить в БД один большой (на все свойства) апдейт ?
Конечно не будет эффективнее, 2 запроса хуже чем 1, тем более когда 1 из них модель вытягивает в память
источник

A

Artur in var chat = new Chat();
Что-то похожее на это?)
источник

В

Вадим in var chat = new Chat();
Vova Lantsov
Конечно не будет эффективнее, 2 запроса хуже чем 1, тем более когда 1 из них модель вытягивает в память
а почему тогда из предложеных мною двух способов, второй лучше?
источник

В

Вадим in var chat = new Chat();
Это скорее вопрос @Masonchyk
источник

VL

Vova Lantsov in var chat = new Chat();
Уверен что там .ToList()? Мне кажется там должен быть доступ по ключу

identity.Claims["role"]
источник

MC

M@s0n C01em@n in var chat = new Chat();
Вадим
Это скорее вопрос @Masonchyk
Потому что я так делаю))
источник

VL

Vova Lantsov in var chat = new Chat();
Вадим
а почему тогда из предложеных мною двух способов, второй лучше?
Мне кажется оба способа выглядят так себе
источник

В

Вадим in var chat = new Chat();
M@s0n C01em@n
Потому что я так делаю))
ааааа, а почему именно так?)
источник

В

Вадим in var chat = new Chat();
Vova Lantsov
Мне кажется оба способа выглядят так себе
хм, а как же тогда правильнее?
источник

VL

Vova Lantsov in var chat = new Chat();
Вадим
хм, а как же тогда правильнее?
Ты скажи что ты пытаешься сделать, я скажу как я бы сделал
источник

В

Вадим in var chat = new Chat();
Vova Lantsov
Ты скажи что ты пытаешься сделать, я скажу как я бы сделал
со слоя БЛ в ДАЛ передаю ДТО мапленую в энтити и хочу обновить  её в БД
источник

VL

Vova Lantsov in var chat = new Chat();
Вадим
со слоя БЛ в ДАЛ передаю ДТО мапленую в энтити и хочу обновить  её в БД
Маппишь как? AutoMapper какой-то?
источник

В

Вадим in var chat = new Chat();
ну вообще маппер самописный, но суть такая же как и у automapper
источник

VL

Vova Lantsov in var chat = new Chat();
Ну смотри
var model = new Model();
Это твоя модель энтити
У неё изначально должны быть поля которые не будешь менять, обязательно первичный ключ задан
model.Id = 13;
Далее
dbContext.Models.Attach(model);

Начиная с этого момента, любые изменения в модельке будут отправлены в запросе update
model.Name = "new name";
dbContext.SaveChanges();
источник

VL

Vova Lantsov in var chat = new Chat();
Всё что ты не менял, отправлено не будет. Оно следит автоматически за изменением каждого свойства, сравнивая с тем значением, которое было до вызова Attach (обычно это null/0)
источник

A

Artur in var chat = new Chat();
Vova Lantsov
Уверен что там .ToList()? Мне кажется там должен быть доступ по ключу

identity.Claims["role"]
источник

VL

Vova Lantsov in var chat = new Chat();
Так что задаёшь только айди, делаешь аттач, меняешь только нужные свойства и сохраняешь
источник

A

Artur in var chat = new Chat();
Норм?)
источник

В

Вадим in var chat = new Chat();
А если у меня контекст уже отслеживает энтити с таким id не возникнет никакой ошибки при вызове .Attach(model); ?
источник

VL

Vova Lantsov in var chat = new Chat();
Вадим
А если у меня контекст уже отслеживает энтити с таким id не возникнет никакой ошибки при вызове .Attach(model); ?
Один и тот же контекст или разные экземпляры?
источник