我在wcf服务
中有这样的方法public string PostAllSurveList(List<Survey> surveyList)
{
var surveyDbList = ConstructDbServeyList(surveyList);
foreach (var survey in surveyDbList)
{
_db.surveys.Add(survey);
}
_db.SaveChanges();
return "Successfully Saved";
}
现在我的问题是如何从客户端代码中调用此方法。这意味着首先我必须构建调查清单。我该如何构建这个列表。
string reply = client.PostAllSurveList(How can I construct this List?);
为了您的信息,我正在用C#编写客户端代码。
先谢谢。
答案 0 :(得分:3)
var list = new List<Survey>();
string reply = client.PostAllSurveList(list);
你确实需要确保你知道如何拼写调查,因为你在6行代码中有3种不同的拼写。代码是书面语言,如果大声说出它有点类似,它就不起作用。
修改强> 确保在生成客户端时,选择“列表”作为任何集合的选项。您似乎选择了数组,这意味着您的函数现在在客户端采用数组:
var list = new List<Survey>();
string reply = client.PostAllSurveList(list.ToArray());
答案 1 :(得分:1)
创建调查项目并将其添加到列表中,将列表作为参数传递:
Survey survey1 = new Survey();
survey1.property1= value;
survey1.property2= value;
Survey survey2 = new Survey();
survey2.property1= value;
survey2.property2= value;
List<Survey> listSurvey = new List<Survey>();
listSurvey.add(survey1);
listSurvey.add(survey2);
string reply = client.PostAllSurveList(listSurvey);
答案 2 :(得分:1)
像这样的Creare List并提供:
var list = new List<Survey>();
string reply = client.PostAllSurveList(list);
编辑: 更新服务引用到ObservableCollection
答案 3 :(得分:0)
尝试:
var list = new List<Survey>();
string reply = client.PostAllSurveList(list);
或使用Collection Initializer
:
string reply = client.PostAllSurveList(new List<Survey> { });
虽然list
应填充在业务逻辑的其他位置,但除非ConstructDbServeyList
直接操作方法中的变量。
您可以使用.Add()
方法添加到列表中。例如:
list.Add(new Survey() { Property = "Property"; });