我正在使用Rob Conery's 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);
我得到“参数计数不匹配”。 Massive.cs第78行的错误
如果我一次只传入一个动态对象,一切正常,只有在我尝试传入列表时才会出现错误。基于GitHub上的文档,我认为这得到了支持,它将在一次交易中保存所有孩子。
答案 0 :(得分:3)
保存采用params数组而不是列表。
people.Save(children.ToArray());