0

我正在尝试将我的 WCF 服务中的列表返回给客户端。

我正在使用实体框架来查询我的数据库

我的实体框架库中有以下代码:

public List<Users> getUsersByLastName(string pLastName)
{
    using (var context = new AMTEntitiesContainer())
    {
        var users = context.Users
                           .Where((c) => c.LastName.Contains(pLastName))
                           .ToList();
        return users;
    }
}

这就是我在 WCF 中捕获结果并返回它的方式:

public List<wcfUser> getUsersByLastName(string pLastName)
{
    UserMethods userMethods = new UserMethods();
    List<Users> usersList = userMethods.getUsersByLastName(pLastName);
    List<wcfUser> usersListForClient = new List<wcfUser>();
    wcfUser usersForClient = new wcfUser();
    foreach (Users u in usersList)
    {
        usersForClient = new wcfUser();
        TranslateServerUserToClientUser(u, usersForClient);
        usersListForClient.Add(usersForClient);
    }
    return usersListForClient;
}

问题是,由于某种原因 usersList 总是空的..为什么会这样?

我通过将相同的查询放入 LINQPad 来检查数据库是否为空

4

1 回答 1

1

这解决了它,显然数据库正在返回一些奇怪的东西,但这捕获了它:

private AMTEntitiesContainer context = new AMTEntitiesContainer();

public IEnumerable<Users> getUsersByLastName(string pLastName)
{
    IQueryable<Users> results;

    results = (from m in context.Users
               where m.LastName.StartsWith(pLastName)
               select m);

    return results;
}
于 2013-04-19T02:24:42.863 回答