1

我得到了 WCF 服务,并且我使用实体框架与数据库进行通信。

当然我不能返回我的实体对象,所以我创建了 WCF 对象。

在这段代码中,我使用 EF 获取数据,这很好..但是当我使用 for each 语句时,usersForClient 总是被分配为空。这在最后返回一个空列表,但 usersList 充满了用户。

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();
    usersForClient = TranslateServerUserToClientUser(u,usersForClient);
    usersListForClient.Add(usersForClient);
}

return usersListForClient;

这是我的翻译方法:

private wcfUser TranslateServerUserToClientUser(Users serverSideUser, wcfUser clientSideUser)
{
    clientSideUser.Age = serverSideUser.Age;
    clientSideUser.Email = serverSideUser.Email;
    clientSideUser.DateJoined = serverSideUser.DateJoined;
    clientSideUser.LastName = serverSideUser.LastName;
    clientSideUser.Name = serverSideUser.Name;
    clientSideUser.UserName = serverSideUser.UserName;
    clientSideUser.IdUser = serverSideUser.IdUser;
    clientSideUser.DateLastLogin = serverSideUser.DateLastLogin;
    clientSideUser.ProfilePicture = serverSideUser.ProfilePicture;
    return clientSideUser;
}
4

1 回答 1

0

尝试将关键字放在argref前面。wcfUser clientSideUser它应该看起来像

User TranslateServerUserToClientUser(Users serverSideUser, ref wcfUser clientSideUser)
于 2013-04-18T21:18:00.690 回答