Массовая замена содержимого таблиц SQL Server

В моем приложении ASP.NET MVC есть несколько веб-серверов, обращающихся к базе данных SQL Server через Entity Framework 6. В базе данных есть 2 таблицы, между которыми существует отношение «один ко многим».

Раз в день все содержимое обеих таблиц необходимо заменять новым набором данных, который загружается через Интернет с удаленного веб-сервиса. Количество записей может исчисляться десятками тысяч. Записи не очень большие, примерно по 10 nvarchar и целочисленных полей в каждой.

Я планирую, чтобы один веб-сервер загружал набор данных из удаленной веб-службы в две таблицы SQL Server. Потребуется удалить старый контент и эффективно загрузить новый контент. Пока это происходит, другим веб-серверам необходимо запретить доступ к таблицам (возможно, заблокировав таблицы).

Я ищу быстрые варианты для этого, их плюсы и минусы. Если есть пакет NuGet или команда Entity Framework, которая делает это за меня, это было бы идеально.


person Rob Gutie    schedule 23.05.2014    source источник


Ответы (1)


Загрузите их во временные таблицы и MERGE (оператор слияния) их в таблицы ежедневного использования.

person TomTom    schedule 23.05.2014