Получение строк из базы данных в список с Entity Framework - PullRequest
0 голосов
/ 24 октября 2018

У меня есть эта сложная модель:

public class complexModel
{
    public aTable aObject { get; set; }
    public List<bTable> bObjectList { get; set; }
    public List<cTable> cObjectList { get; set; }
}

Затем в контроллере я объявляю этот объект:

var AAA = new complexModel();

Теперь этот код работает нормально

AAA.bObjectList= (from tdrc in db.bTable
                  select new bTable
                             {
                                ID = tdrc.ID ,
                                bName = tdrc.bName,,
                             }).ToList();

но когда я пишу это

AAA.cObjectList= (from tdrc in db.cTable
                  where tdrc.cID == id
                  select new cTable
                             {
                                 cID = tdrc.cID,
                                 cName = tdrc.cName,
                             }).ToList();

, я получаю эту ошибку:

System.NotSupportedException: объект или сложный тип 'Project.DAC.cTable' не может быть создан взапрос LINQ to Entities. '

1 Ответ

0 голосов
/ 24 октября 2018
AAA.cObjectList= (from tdrc in db.cTable
                               // ^
              where tdrc.cID == id
              select new cTable
                      // ^
                         {
                             cID = tdrc.cID,
                             cName = tdrc.cName,
                         }).ToList();

Вы не можете select new SomeType, где SomeType является типом сущности.Это тип / класс, объявленный в контексте.

Анонимный тип должен делать

AAA.cObjectList= (from tdrc in db.cTable
              where tdrc.cID == id
              select new 
                         {
                             cID = tdrc.cID,
                             cName = tdrc.cName,
                         }).ToList();

Или, если вы хотите, чтобы тип сущности:

AAA.cObjectList= (from tdrc in db.cTable
              where tdrc.cID == id
              select tdrc).ToList();

Или использоватьне тип сущности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...