#c# #c#-4.0 #dynamic #massive
#c# #c #-4.0 #динамический #массивный
Вопрос:
Я использую Massive от Роба Конери для подключения к моей базе данных, но, похоже, я не могу сохранить список динамических объектов в базе данных. Я думал, что это все же поддерживается.
Вот код, который я пытаюсь использовать:
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:
Для сохранения используется массив параметров, а не список.
people.Save(children.ToArray());
Комментарии:
1. В примере документации Роба Конери, кстати, тоже есть такая проблема.