Size: a a a

2020 March 18

DP

Denis Petukhov in pro.net
Bretbas
в любом случае EF делает транзакцию сам
Какую?
источник

B

Bretbas in pro.net
Denis Petukhov
Какую?
при SaveChanges
источник

B

Bretbas in pro.net
все что было добавлено/удалено/изменено за этот контекст, все это в одной транзакции
источник

DP

Denis Petukhov in pro.net
Так тебе выше про другое сказали. Про время между селектом и инсертом
источник

B

Bretbas in pro.net
Denis Petukhov
Так тебе выше про другое сказали. Про время между селектом и инсертом
блин) или ты меня не понимаешь, или я тебя
источник

B

Bretbas in pro.net
ща, я код пришлю, покажу, что я имею ввиду
источник

DP

Denis Petukhov in pro.net
Я понял что ты имеешь в виду
источник

B

Bretbas in pro.net
Denis Petukhov
Я понял что ты имеешь в виду
Вот
источник

B

Bretbas in pro.net
тоесть если что-то и пойдет не так, то не сохранится НИЧЕГО
источник

DP

Denis Petukhov in pro.net
Bretbas
тоесть если что-то и пойдет не так, то не сохранится НИЧЕГО
Добавь уникальный индекс на колонку на всякий случай, твой код может вставить два хэштега с одинаковым именем
источник

B

Bretbas in pro.net
Denis Petukhov
Добавь уникальный индекс на колонку на всякий случай, твой код может вставить два хэштега с одинаковым именем
уже есть давно)
источник

B

Bretbas in pro.net
на Name
источник

B

Bretbas in pro.net
Denis Petukhov
Добавь уникальный индекс на колонку на всякий случай, твой код может вставить два хэштега с одинаковым именем
блин, мне не нравится что слишком много логики в методе IPostManager.UpdatePostAsync(postId, postWriteModel)

Как можно правильно разделить? Сделать еще один менеджер, скажем IPostHashTagManager для этого дела?

Но тогда все менеджеры будут знать о друг друге, и это приведет к какому-то п***

Как правильнее? Я просто видел, что через медиатор делают, но что-то мне это решение тоже не понравилось
источник

V

Vyacheslav in pro.net
Bretbas
Народ.
Есть коллекция, скажем IList<string> hashTags.

Мне нужно выбрать из нее только те, которых нет в БД. В БД хранятся HashTag, у которых есть два свойства Id и Name. В данном случае мне по Name нужно проверку осуществлять.

Что-то не могу придумать, как это можно сделать то?
db.Table.Where(r => !hashTags.Contains(r.Name)).ToListAsync() ...
источник

B

Bretbas in pro.net
Vyacheslav
db.Table.Where(r => !hashTags.Contains(r.Name)).ToListAsync() ...
да да, уже сделал)
источник

B

Bretbas in pro.net
Vyacheslav
db.Table.Where(r => !hashTags.Contains(r.Name)).ToListAsync() ...
только так как ты сделал не пойдет
источник

EZ

Eugene Zakharov in pro.net
Ты два раза подумал чтобы использовать bitwise or для post.status?
источник

V

Vyacheslav in pro.net
Bretbas
а то я тут выдумываю:
      var existsHashTags = await appContext.HashTags
       .Where(x => postWriteModel.HashTags.Contains(x.Name))
       .ToListAsync();
     var addedHashTags = postWriteModel.HashTags
       .Except(existsHashTags.Select(x => x.Name))
       .Select(x => new HashTag() { Name = x });
Чо за Except?
источник

B

Bretbas in pro.net
Eugene Zakharov
Ты два раза подумал чтобы использовать bitwise or для post.status?
что такое bitwise?
источник

B

Bretbas in pro.net
Vyacheslav
Чо за Except?
там Except я так понял не прокатит
источник