C# 未修改对象属性

C# 未修改对象属性,c#,entity-framework,C#,Entity Framework,我得到了一个WCF服务,我使用实体框架与数据库通信 当然,我不能返回我的实体对象,所以我创建了WCF对象 在这段代码中,我使用EF获取数据,这很好。但是当我使用for-each语句时,usersForClient总是被分配为空。这将在末尾返回一个空列表,但usersList中已满是用户 UserMethods userMethods = new UserMethods(); List<Users> usersList = userMethods.getUsersByLastName(

我得到了一个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;
尝试将ref关键字放在wcfUser clientSideUser参数前面。应该是这样的

User TranslateServerUserToClientUser(Users serverSideUser, ref wcfUser clientSideUser)

尝试调用您的服务类,就像它只是一个普通的.NET应用程序一样。如果这样做有效,那么您的服务合同可能有问题。如果让Visual Studio通过“添加服务引用”生成客户端代码,您可能需要刷新它。我尝试创建一个用户并从我的WCF中公开的getUsersByLastName方法中返回该用户,用户对客户端感觉良好。问题是usersListForClient始终为空。为什么不能返回您的实体对象?wcfUser是一个结构或类?这是您的确切代码吗?如果usersList有项,我看不出usersListForClient如何没有任何项。
User TranslateServerUserToClientUser(Users serverSideUser, ref wcfUser clientSideUser)