我尝试使用某些数据库查询的结果返回Web服务方法中的列表。
我的查询是:
var Address = (from table in Model.Table where *-some conditions and join clause-* select Address).Firstordefault();
var Phone =(from table in Model.Table where *-some conditions and join clause-* select Phone).FirstOrDefault();
网络服务方法:
[WebMethod]
public List< x> ShowDetails(*input parameters*)
{
List< x> list = new List<x>();
list.Add(Address);
list.Add(Phone);
return list;
}
我的问题是如何使用查询结果定义List< x>
元素?
答案 0 :(得分:0)
我没有看到在这里使用列表的原因。简单的解决方案是创建一个自定义类来保存结果:
public class X
{
public Address Address{get;set;}
public Phone Pnone {get;set;}
}
然后您可以执行以下操作:
[WebMethod]
public X ShowDetails(*input parameters*)
{
var address = Model.Addresses.FirstorDefault(some conditions);
var phone = Model.Phones.FirstorDefault(some conditions);
return new X{Address=address, Phone=phone};
}
现在我看到你提到你也在加入表可能会应用一些条件。我建议你而不是使用导航属性,例如:
var address = Model.Addresses.FirstorDefault(a=>a.State.StateId==9);
该查询将在转换为sql后为您进行连接。