Несколько программ, обновляющих одну и ту же базу данных - PullRequest
2 голосов
/ 02 ноября 2011

У меня есть веб-сайт, разработанный с использованием ASP.NET MVC, Entity Framework Code First и SQL Server.На веб-сайте есть объекты, каждый из которых имеет определенную нами историю статусов (NEW, PACKED, SHIPPED и т. Д.). БД содержит таблицу, в которую совершенно отдельная система вставляет данные отслеживания посылок.Я должен прочитать эти данные отслеживания данных и, следуя определенным бизнес-правилам, добавить в существующую историю статусов моих сущностей.

Лучший способ, о котором я могу подумать, - написать независимую службу Windows для опроса данных отслеживания.время от времени и обновлять мои статусы от этого.Однако меня это беспокоит из-за проблем с параллелизмом в БД.

Может, кто-нибудь посоветует мне лучшую стратегию для этого сценария?Большое спасибо

1 Ответ

1 голос
/ 02 ноября 2011

Есть разные способы сделать это. Это также зависит от времени отклика, которое вам нужно. Если вам необходимо обновить вашу систему, как только система отслеживания обновит запись, то триггер является предпочтительным способом. Альтернативный способ - запланировать задание , которое будет выполняться каждые 15/30 минут и синхронизировать 2 системы.

Что касается проблемы параллелизма, вы можете использовать поле токена параллелизма. Entity Framework имеет поддержку для этого.

...