У меня есть консольное приложение C #, которое выполняет некоторую обработку и затем записывает в базу данных. Я развернул его несколько раз на сервере с разными настройками конфигурации, чтобы сделать немного разные вещи. Однако все они должны записывать в одну и ту же базу данных (и, возможно, потребуется вставить те же данные в одну и ту же таблицу, если она еще не существует), используя Linq to Entities.
Если бы я использовал потоки, я мог бы заблокировать метод или хранимые процедуры, я мог бы поставить записи в очередь, чтобы избежать конфликтов, но есть ли способ сохранить их как отдельные приложения и не дать им обоим попытаться написать одну и ту же вещь в базу данных одновременно?
Я часто получаю исключение, когда возникает конфликт.
Edit:
Я не обязательно пытаюсь отладить, почему я получаю исключение, ища больше предложений «наилучшей практики», как это сделать, например. Следует ли это обрабатывать на уровне консольного приложения, на уровне L2E или на уровне базы данных.