2013-04-18 7 views
0

Я пытаюсь вернуть список из моей службы WCF клиенту.Entity Framework возвращает пустые значения

Я использую Entity Framework для запроса к моей базе данных

У меня есть следующий код в моем Entity Framework библиотеки:

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; 
} 

Дело в том, что почему-то пользовательский список всегда пуст. Почему?

Я проверил, что DB не пусто, бросая одни и те же запросы в LINQPad

+0

ли вы проверить переводчик ? –

+0

Я дважды проверил моего переводчика, но все же ... список не пуст. Пусто :( –

+0

Что им получить на клиенте при вызове этой функции d: [] –

ответ

1

Это решило его, по-видимому, 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; 
} 
Смежные вопросы