Ошибка о неявном преобразовании

186
11 сентября 2018, 10:50

Есть такой код:

class Presenter
{
    public  List<Objects> GetObjects()
    {
        var context = new LocalDBEntities();
        var objects = from c in context.Objects
                      join t in context.Types on c.TypeID equals t.TypeID
                      join s in context.Status on c.StatusID equals s.StatusID
                      select new
                      {
                          c.NameObject,
                          s.NameStatus,
                          t.NameType
                      };
        objects.ToList();
        return objects;
    }
}

Здесь использую:

private void Form1_Load(object sender, EventArgs e)
{
    Presenter presenter = new Presenter();
    var objects = presenter.GetObjects();

    int count = 0;
    foreach (var obj in objects)
    {
        treeView1.Nodes.Add(obj.NameObject);
        treeView1.Nodes[count].Nodes.Add(obj.NameType);
        treeView1.Nodes[count].Nodes.Add(obj.NameStatus);
        count++;
    }
}

Класс Objects

public partial class Objects
{
    public int ObjectID { get; set; }
    public string NameObject { get; set; }
    public int TypeID { get; set; }
    public int StatusID { get; set; }
    public virtual Status Status { get; set; }
    public virtual Types Types { get; set; }
}

Метод GetObjects() возвращает список объектов, но так как выбраны три объекта в запросе, то выдает ошибку о неявном преобразовании. Что можно исправить/сделать в методе GetObjects() класса Presentrer, чтобы в обработчике Form1_Load ничего не менять?

Answer 1

Спасибо за помощь.
Готовый вариант.
Обработчик:

private void Form1_Load(object sender, EventArgs e)
{
    Presenter presenter = new Presenter();
    var objects = presenter.GetObjects();            
    int count = 0;
    foreach (var obj in objects)
    {
        treeView1.Nodes.Add(obj.NameObject);
        treeView1.Nodes[count].Nodes.Add(obj.Types.NameType);
        treeView1.Nodes[count].Nodes.Add(obj.Status.NameStatus);
        count++;
    }
}

Класс Presenter:

public List<Objects> GetObjects()
{
    var context = new LocalDBEntities();
    var objects = context.Objects.Include(x => x.Types).Include(x => x.Status).ToList();
    return objects;
}
READ ALSO
Что такое именованный тип данных?

Что такое именованный тип данных?

В экзаменационном билете есть вопрос : Что такое именованный тип данныхОпишите как он используется

195
При отладке не выводит в AllocConsole в WPF

При отладке не выводит в AllocConsole в WPF

Есть проект на WPFДо этого сидел на VS 2015 и при использование AllocConsole во внешней, написанной мною библиотеке, всё удачно выводил

215
MVVM WPF удаление нескольких выбранных элементов

MVVM WPF удаление нескольких выбранных элементов

Есть ListBoxсо списком автомобилей

181
Отправка сообщения на почту C#

Отправка сообщения на почту C#

Нашёл образец кода на форуме, сделал всё по шаблону, вроде и отправляет сообщения, а как только другу отправил приложение потестить так приходят...

203