Невозможно сохранить список <dynamic>, используя Rob Conery's Massive - PullRequest
2 голосов
/ 11 ноября 2011

Я использую Массив Роба Конери для подключения к моей базе данных, но, похоже, я не могу сохранить список динамических объектов в базе данных.Я думал, что это все же поддерживается.

Вот код, который я пытаюсь использовать:

    int numberOfChildren = int.Parse(Request.Form["numberOfChildren"]);        
    List<dynamic> children = new List<dynamic>();

    for(int i = 1; i <= numberOfChildren; i++) {
        dynamic child = new ExpandoObject();
        child.FamilyID = familyId;
        child.Type = "CHILD";
        child.LastName = Request.Form[i + "-childLastName"];
        child.FirstName = Request.Form[i + "-childFirstName"];
        child.SendSmsAlerts = false;
        child.Gender = Request.Form[i + "-childGender"];
        child.Birthdate = Request.Form[i + "-childBirthdate"];

        children.Add(child);
    }

    var people = new People();
    people.Save(children);

Я получаю «Несоответствие количества параметров».ошибка в строке 78 Massive.cs

Все работает нормально, если я передаю только один динамический объект за раз, ошибка возникает только тогда, когда я пытаюсь пройти в списке.Основываясь на документации по GitHub, я подумал, что это поддерживается, и это спасет всех детей в одной транзакции.

1 Ответ

3 голосов
/ 11 ноября 2011

Сохранить принимает массив параметров, а не список.

people.Save(children.ToArray());
...