conditions. Сценарий GET or CRETE -- приложение проверяет, существует ли запись для CutomerId = ... и если такой записи нет, то создает ее. Проблема, что параллельно приходят несколько запросов, и проверка для всех говорит, что записи нет, и несколько потоков ее создают -- получаются, дубли для одного и того же CustomerId создаются несколько записей. Можно ли как-то решить эту проблему на стороне приложения с помощью EF (не прибегая к stored procedure и Unique Constrain в БД)?
транзакции?
и как? боюсь, что чтение _db.Any(...) не поможет, даже если его в тразнакцию завернуть. Или я чего-то не знаю?
я не особо знаю как еф с транзакциями работает, но в теории можно селект и инсерт запихнуть в транзакцию TransactionScope
вообще нельзя сделать insert where not exists в еф? полюбому можно
мне понятно, как это сделать на стороне базы, но на стороне приложения я не знаю, не сталкивался с таким.
сделай сырой запрос в конце концов)
Обсуждают сегодня