C# 返回空值的实体框架
我正在尝试将WCF服务中的列表返回给客户端 我使用实体框架来查询我的数据库 我的实体框架库中有以下代码:C# 返回空值的实体框架,c#,entity-framework,C#,Entity Framework,我正在尝试将WCF服务中的列表返回给客户端 我使用实体框架来查询我的数据库 我的实体框架库中有以下代码: public List<Users> getUsersByLastName(string pLastName) { using (var context = new AMTEntitiesContainer()) { var users = context.Users .Where((c) =&
public List<Users> getUsersByLastName(string pLastName)
{
using (var context = new AMTEntitiesContainer())
{
var users = context.Users
.Where((c) => c.LastName.Contains(pLastName))
.ToList();
return users;
}
}
public List getUsersByLastName(字符串名称)
{
使用(var context=new amtentiescontainer())
{
var users=context.users
.其中((c)=>c.LastName.Contains(pLastName))
.ToList();
返回用户;
}
}
以下是我在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;
}
public List getUsersByLastName(字符串名称)
{
UserMethods UserMethods=新的UserMethods();
List usersList=userMethods.getUsersByLastName(pLastName);
List usersListForClient=new List();
wcfUser usersForClient=新的wcfUser();
foreach(用户列表中的用户u)
{
usersForClient=new wcfUser();
TranslateServerUserToClient(u,usersForClient);
usersListForClient.Add(usersForClient);
}
返回usersListForClient;
}
问题是,出于某种原因,usersList总是空的。为什么
我通过向LINQPad抛出相同的查询来检查DB是否为空,这解决了问题,显然DB返回了一些奇怪的东西,但这捕获了它:
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;
}
private amtentiescontainer context=new amtentiescontainer();
公共IEnumerable getUsersByLastName(字符串名称)
{
可预测的结果;
结果=(来自context.Users中的m)
其中m.LastName.StartsWith(pLastName)
选择m);
返回结果;
}
请检查您的翻译器好吗?我仔细检查了我的翻译器,但仍然..列表不是空的..是空的:(调用此函数时,我在客户端上得到的是d:[]我传递了“m”的值或“..我甚至硬编码了,以便它什么时候会这样做。包含(“”),而不是接收参数..但它仍然响应d:[]@MaG3Stican那么,如果您在return usersListForClient;
上设置了一个断点,该断点将充满数据?如果是,请尝试更新您的服务引用。