2013-03-19 3 views
1

В настоящее время я настраиваю репликацию SQL для репликации наших документов Raven DB в SQL для целей отчетности. Пока все работает отлично. Однако теперь я пытаюсь сохранить документ, содержащий массив в течение нескольких дней недели.Как Raven DB SQL Replication обрабатывает массивы сохранения SQL?

Это как документ выглядит в Raven:

{ 
    "ClientId": "clients/385", 
    "Description": "Test", 
    "IsOneOff": false, 
    "RecursEveryWeeks": 1, 
    "StartDate": "2013-03-19T00:00:00.0000000", 
    "TaskStartTime": "12:00:00", 
    "TaskDuration": 120, 
    "TaskEndTime": "14:00:00", 
    "AdditionalResources": false, 
    "AdditionalVisitType": "TestType", 
    "BillableTo": "Private", 
    "RecurrenceEndDate": "2013-04-30T00:00:00.0000000", 
    "DaysOfWeek": [ 
    "Monday", 
    "Tuesday", 
    "Wednesday", 
    "Friday", 
    "Saturday" 
    ] 
} 

В репликации SQL я сделал следующее:

sqlReplicate("AdditionalVisit", "AdditionalVisitId", { 
     ClientId: this.ClientId, 
     Description: this.Description, 
     IsOneOff: this.IsOneOff, 
     RecursEveryWeeks: this.RecursEveryWeeks, 
     StartDate: this.StartDate, 
     TaskStartTime: this.TaskStartTime, 
     TaskDuration: this.TaskDuration, 
     TaskEndTime: this.TaskEndTime, 
     AdditionalResources: this.AdditionalResources, 
     AdditionalVisitType: this.AdditionalVisitType, 
     BillableTo: this.BillableTo, 
     RecurrenceEndDate: this.RecurrenceEndDate, 
     DaysOfWeek: this.DaysOfWeek 
}); 

Все это прекрасно работает, когда я выхожу DaysOfWeek из SQL репликации но вызывает сбой сервера, когда я ухожу.

Как это сделать в SQL Replication, чтобы все в массиве было сохранено в столбце DaysOfWeek в SQL?

ответ

1

Я не тестировал это, но это по строкам того, что вы хотите ... просто добавьте это в конец вашего текущего скрипта.

for (var i=0; i<this.DaysOfWeek.length; i++) { 
    var day = this.DaysOfWeek[i]; 
    sqlReplicate('AdditionalVisit_DaysOfWeek', 'AdditionalVisitId', { 
     AdditionalVisitId: documentId, 
     DayOfWeek: day, 
    }); 
} 

Кстати есть в настоящее время ошибка в SqlReplication для RavenDb 2,1 где удалений не будет протолкнул к SqlReplication, это должно быть зафиксировано в 2,5 отрасли, но есть еще некоторые другие вопросы, необходимо проработать, чтобы он стал пригодным для использования.

+0

Большое спасибо, Пол, получил это, используя это. Привет, Крис – Chris

Смежные вопросы