2016-10-11 2 views
0

Я пытаюсь отобразить все данные члена, объединив имя и имя Фамилия Имя. Функция выполнена успешно. Но он начинает давать мне ошибку, когда я пытаюсь написать функцию выбора, как это:Невозможно неявно преобразовать тип 'System.Collections.Generic.List <AnonymousType # 1>' to 'System.Linq.IQueryable <MH_CRUD_Model.Member>'

[HttpGet] 
    [Route("api/Members")] 
    public IQueryable<Member> GetMembers() 
    { 
     var member = db.Members.Select(m=> 
      new{ 
       Name = m.LastName +" "+ m.LastName, 
       m.Title, 
       m.ProjectId 
      }); 
     return member.ToList(); 

    } 

любой Помощь

+0

Вы возвращение нового неизвестный (анонимный) типа с 'нового {}' и результат ожидает быть 'Member' типа – Reniuz

+0

либо измените вашу функцию возвращаемого типа для' list' или удалить '.ToList()' из ваше возвращение. – uTeisT

+0

Я сделал все, что вы сказали, а также различные ошибки, основанные на возвращаемом значении – Mai

ответ

1

Вы создаете anonymous тип в вашем отборном заявлении без указания любого типа. В то же время ваш возвращаемый тип функции - IQueryable<Member>, и в конце вашей функции вы возвращаете список object. Вы должны соответствовать возвращаемому типу функции и возвращать данные. Вот мое решение

Сначала нужно создать класс модели для данных возврата, как по имени MemberReturn вы можете использовать имя, как ваш выбор

class MemberReturn 
{ 
    public string Name { get; set; } 
    public string Title { get; set; } 
    public string ProjectId { get; set; } 

} 

Затем выберите данные в Linq запрос в MemberReturn типа и изменение возвращаемого функцией типа, как List<MemberReturn>

[HttpGet] 
[Route("api/Members")] 
public List<MemberReturn> GetMembers() 
{ 
    var member = db.Members.Select(m=> 
      new MemberReturn { 
       Name = m.FirstName + " " + m.LastName, 
       Title = m.Title, 
       ProjectId = m.ProjectId 
      }); 
    return member.ToList(); 

} 
+0

Я сделал в качестве вашего ответа, но получил ошибку «MH_CRUD_Model.Member» не содержит определения для «Name» « – Mai

+1

ok then покажите мне свой код класса 'Member', я его разрешаю – Mostafiz

+0

public class Member { [Key] public int Id {get; задавать; } // Поле FK public int ProjectId {get; задавать; } // Поле имени пользователя [Обязательно] public string FirstName {get; задавать; } public string LastName {get; задавать; } // Поле заголовка public string Заголовок {get; задавать; } // Навигационное имущество общественный проект проекта {get; задавать; } } – Mai