AutoMapper - класс ProjectTo с несколькими свойствами одного типа - PullRequest
0 голосов
/ 27 мая 2019

Недавно узнал о методе AutoMapper ProjectTo <> , поэтому я поиграл с ним.

Пока все хорошо, пока я не наткнулся на класс с несколькими свойствами одного типа, например:

public class RandomDto
{
    public int Id {get;set;}
    public ChildDto FirstChild {get;set;}
    public ChildDto SecondChild {get;set;}
}

Кажется, что он генерирует SQL для одного дочернего отношения, а не для обоих:

SELECT CASE
    WHEN [dtoRandom].[FirstChild_FK] IS NULL
    THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
END, [t0].[Child_Description]
END, [dtoRandom].[Id]
FROM [Randoms] AS [dtoRandom]
INNER JOIN (
    SELECT [s].*
    FROM [Childs] AS [s]
) AS [t0] ON [dtoRandom].[FirstChild_FK] = [t0].[Id]

Я пробовал

.ProjectTo<RandomDto>(null, "FirstChild", "SecondChild")
.ProjectTo<RandomDto>(x=>x.FirstChild, x=>x.SecondChild)

и оба возвращаются с заполнением первого, второе - нулем

Не уверен, нужно ли мне устанавливать пользовательские псевдонимы или что-то для этого?

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