Я использую Dapper Extensions для некоторых своих типов, и в большинстве случаев он работает очень хорошо. Я столкнулся со случаем, когда у меня много-много отношений, и я хочу сделать что-то вроде: -
SELECT id,a,b,c FROM Foo WHERE Foo.id in (SELECT foo_id FROM foo-bar WHERE bar-id=@bar_id)
Очевидно, что расширения Dapper могут обрабатывать «SELECT id, a, b, c FROM Foo», но не последнюю часть. Я мог бы сделать выбор, чтобы получить список идентификаторов Foo, которые мне нужны, а затем передать его в Dapper Extensions, но это менее эффективно.
Часть, которую я не могу сделать с простым Dapper, - это автоматически получить список столбцов SELECT, поэтому мне действительно нужен способ: -
- Получите список столбцов SELECT из внутренних механизмов расширения Dapper.
- Получите базовый «SELECT id,a,b,c FROM Foo» из внутренних механизмов Dapper Extension.
- Hook Dapper Extensions Получить код, чтобы я мог добавить пользовательское предложение WHERE
Я просмотрел код, но не могу понять, как это сделать. Кто-нибудь может помочь? На данный момент я работал, используя простой Dapper и "SELECT *...", но я уверен, что есть лучший способ.