Когда Dapper выполняет JOIN
, вызывает ли он конструктор для каждого a
, b
, c
? или каждый уникальный a
,b
, c
?
string sql = @"SELECT a.*, b.*, c.*
FROM A a
JOIN B b ON b.Id = a.BId
JOIN C c ON b.Id = c.BId";
var results = db.Query<A, B, C, A>(sql, (a, b, c) => { return a; });
Например, если у меня есть дубликаты c
, будет ли Dapper вызывать конструктор c
много раз?
Или он заметит, что идентификаторы одинаковы между строками, и передаст мне один и тот же объект для всех экземпляров, где идентификатор одинаков?
Изменить:
После некоторого тестирования похоже, что он вызывает конструктор несколько раз для повторяющихся значений.
Есть ли простой способ обойти это с помощью Dapper API?
DISTINCT
в свой запрос - person Panagiotis Kanavos   schedule 09.01.2015Query<TFirst, TSecond, ..., TReturn>()
. - person Charles W   schedule 09.01.2015