我得到了 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;
}