Переместите Azure SQLDB с помощью SQL Data Sync в новую группу ресурсов.

Вы можете использовать немного рефлекса для построения дерева выражений следующим образом (это метод расширения):

public static IQueryable<TEntity> OrderBy<TEntity>(this IQueryable<TEntity> source, string orderByProperty,
                          bool desc) 
{
     string command = desc ? "OrderByDescending" : "OrderBy";
     var type = typeof(TEntity);
     var property = type.GetProperty(orderByProperty);
     var parameter = Expression.Parameter(type, "p");
     var propertyAccess = Expression.MakeMemberAccess(parameter, property);
     var orderByExpression = Expression.Lambda(propertyAccess, parameter);
     var resultExpression = Expression.Call(typeof(Queryable), command, new Type[] { type, property.PropertyType },
                                   source.Expression, Expression.Quote(orderByExpression));
     return source.Provider.CreateQuery<TEntity>(resultExpression);
}

orderByProperty - это имя свойства, которое вы хотите заказать, и если передать true как параметр для desc, будет сортироваться в порядке убывания; в противном случае будет сортироваться в порядке возрастания.

Теперь вы должны иметь возможность делать existingStudents.OrderBy("City",true); или existingStudents.OrderBy("City",false);

1
задан IsThisThingOn 15 January 2019 в 19:15
поделиться

1 ответ

Похоже, я ответил на свой вопрос, поэтому пишу здесь, чтобы помочь другим. С помощью моего администратора Azure мы создали тестовую базу данных SQLDB (с соответствующим новым сервером БД) в той же группе ресурсов, что и БД, которую мне нужно переместить. Затем я заполнил новую БД тестовыми данными и настроил синхронизацию данных с локальной БД на том же локальном экземпляре. Начальная синхронизация проверена нормально. Затем мы переместили новый тестовый сервер и БД (должны переместить оба) в новую группу ресурсов, снова в рамках той же подписки / арендатора. По завершении (примерно через 5 минут) мы смогли увидеть, что, хотя приложение, работающее с БД, на самом деле все еще работает нормально, как ожидалось, и обнаружилась группа синхронизации данных, агент синхронизации данных не появился. Попытка выполнить синхронизацию вручную из группы синхронизации привела к ошибке. Таким образом, кажется, что перемещение БД по группам ресурсов нарушит синхронизацию данных SQL, и для исправления вам потребуется восстановить синхронизацию с нуля. Я не прошел все эти шаги в тестовой базе данных, но обновлю этот ответ, если завтра вечером возникнут дополнительные проблемы после фактического переноса производства.

На следующую ночь: оказалось, что фактический ход не был проблемой. База данных отображалась не сразу, даже после выхода из системы и повторного входа, но приложение никогда не закрывалось, и через 5-10 минут после перехода в «Домой», затем базы данных SQL на портале, вуаля, база данных отображалась в правильном Группа ресурсов И и Группа синхронизации, и Агент синхронизации также отображаются после выбора «Синхронизировать с другими базами данных». Не уверен, что это было время или переход к дому в первую очередь. Несмотря на это, ручная синхронизация работала как ожидалось. Поэтому не уверен, почему наш тестовый пример не сработал, но может показаться, что SQLDB перемещается в новую группу ресурсов в том же клиенте, и подписка имеет хорошие шансы сохранить синхронизацию данных с локальным экземпляром. Как всегда, однако, ваш пробег может отличаться.

0
ответ дан IsThisThingOn 15 January 2019 в 19:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: