Как сопоставить необработанные поля запроса с полем класса сущности? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть запрос:

Select p.Name, p.ProductGroupID as GroupID, g.Name as GroupName
FROM Products as p
LEFT JOIN ProductGroups as g
    ON p.ProductGroupID = g.ProductGroupID

Могу ли я использовать dbContext.Database.SqlQuery (запрос), чтобы получить список ProductView, где ProductView равен

class ProductView
{
    string Name;

    GroupView Group;
}

class GroupView
{
    int id;
    string Name;
}

1 Ответ

0 голосов
/ 14 декабря 2018

SqlQuery не поддерживает сложный тип

Что вы должны сделать:

internal class TempResult
{
    public string Name { get; set; }
    public int? id { get; set; }
    public int? AddressId { get; set; }
    public string groupName { get; set; }
}

var tempResults = db.Database.SqlQuery<TempResult>(
    @"Select p.Name, p.ProductGroupID as GroupID, g.Name as GroupName
FROM Products as p
LEFT JOIN ProductGroups as g
    ON p.ProductGroupID = g.ProductGroupID",
    objectParameterList.ToArray()).ToList();

querySearchResult = tempResults.Select(t => new SearchResult
{
    Name = t.Name,
    Group = new GroupView 
        {
            id = t.id,
            Name = t.groupName,
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...