Как сделать WHERE field IN (...)? (2)
От: Larian  
Дата: 28.11.09 11:11
Оценка:
В продолжение закрытой темы http://rsdn.ru/forum/prj.rfd/3378038.flat.aspx#3378038
Автор: Grog13
Дата: 04.05.09


А почему бы не сделать в BLT, как в DbSimple на php какой-нить подстановочный знак и самому его разворачивать?
Например задано так
List<int> idList = ...;

[SqlQuery(@"SELECT * FROM myTable WHERE myID IN (@idList)")] //вместо @ можно использовать другой знак
public abstract EditableList<Entity> SelectSome(List<int> idList );

И idList разворачивася в
SELECT * FROM myTable WHERE myID IN ('id1', 'id2', 'id3')

Таким образом не будет нужно для простых случаев париться с костылями.

Не следует возводить запросы с IN к проблеме передачи массивов.
Достаточно просто через цикл собрать строку запроса и самому вызвать через DbManager. Но хотелось бы и этот момент автоматизировать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.