Я использую Micro ORM Dapper. Я думал, что он может обрабатывать перечисленные ниже перечисления:Я думал, что Dapper может объединить несколько запросов, подобных этому
string sql = @"SELECT * FROM Events WHERE TimestampTicks <= @TimestampTicks AND TelemetryId = @TelemetryId ORDER BY TimestampTicks DESC LIMIT 1";
var events = _connection.Query<ReplayEvent>(sql, telemetryIds.Select(ti => new { TimestampTicks = startTime.Ticks, TelemetryId = ti }));
Увы, это дает бесполезную ошибку. У метода запроса нет способа слить несколько результатов? Каков правильный способ сделать это?
Почему вы думаете, что это законно для второго аргумента 'Query', чтобы быть последовательность? Обычно вы передаете анонимный тип, содержащий ваши аргументы, а не перечислимые. (глядя на ваш запрос, я совсем не уверен, что вы даже надеетесь, что он это сделает) –
Предполагается, что «LIMIT 1» предполагает, что я ожидаю результат для каждого идентификатора в коллекции telemetryIds. – Brannon
Dapper не будет писать этот запрос для вас. (dapper не изменяет ваш запрос - он не анализирует его и не манипулирует им). Вам придется писать его самостоятельно, используя предложение 'in'. –