Все, я отправляю список идентификаторов (более 1000 разрешенных Oracle макс.) В предложении sql where с использованием Dapper 1.50 и Oracle 18. Поскольку существует ограничение на количество Элементы в предложении in, я решил сделать подзапрос, как показано ниже, но я не могу заставить его работать. Может кто-то пролить свет на это. Я всегда буду отправлять более 1000 предметов в качестве идентификаторов. Второй оператор sql не работает (он говорит, что недействителен sql).
public static List<Notes> GetNotes()
{
List<Notes> notes = new List<Notes>();
try
{
using (var connection = OracleConnectionString)
{
connection.Open();
string idCommand = @"select * from (select
id
from
note_text
order by
1
desc)where
rownum <=2000";
var notesList = connection.Query<Notes>(idCommand);
var noteIds1 = notesList .Select(i => i.id).ToList();
string command = @"select
tnt.id as id,
tnt.NOTE_TXT
from
note_text tnt
(
select
note_id
from
dual
where
note_id in :noteIds1
)x where x.note_id = tnt.id";
var info = connection.Query<Notes>(command, new
{
noteIds1
});
notes = info.ToList();
}
}
catch (Exception ex)
{
}
return notes;
}