返回List< T>通过WCF服务
本文关键字:通过 WCF 服务 List 返回 | 更新日期: 2023-09-27 18:15:30
我正在编写WP 8应用程序,我需要通过WCF服务返回用户列表。我在数据库中有两个表:Users
(包含位置和其他用户的数据)和Tabs
(包含两个字段u1ID
(我的Id)和u2ID
(我可以在地图上看到的用户)。因此,我得到所有u2ID
并将它们与Users
表的Id
字段进行比较。如果它们相似,则将此用户添加到列表中。但是getAllusrs
方法只返回数据库中的第一条记录。我怎样才能改正呢?
服务实现:
public List<Point> getAllusrs()
{
DataClasses1DataContext data = new DataClasses1DataContext();
var a = (from s in data.Tabs where s.u1ID == 1 select s.u2ID).ToArray();
int inc = 0;
List<Point> location = new List<Point>();
foreach (var d in data.Users)
{
if (a[inc] != null && d.Id == a[inc])
{
location.Add(new Point() { Lat = d.usrLat, Lon = d.usrLong });
inc++;
}
}
return location;
}
你需要练习你的基本循环。
public List<Point> GetAllUsers()
{
var data = new DataClasses1DataContext();
var userIds = data.Tabs.Where(t => t.u1ID == 1).Select(t => t.u2ID).ToList();
var users = data.Users.Where(u => userIds.Contains(u.Id)).ToList();
var locations = users.Select(u => new Point { Lat = u.usrLat, Lon = u.usrLong }).ToList();
return locations;
}
你应该把这些东西都放在数据库上,而不是像我那样在中间具体化。