Всем привет, есть вот такой код
private const string SELECT_PARTNERS_PARAM = "SELECT_PARTNERS_PARAM.sql";
// Метод для вызова запроса
private static string GetQuerySelect(string sql_file)
{
using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"Rtb.Api.Dal.Query.{sql_file}"))
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
return reader.ReadToEnd();
}
public async Task<IEnumerable<RtbModel>> GetPartnerDal(int[] ids)
{
var listOfPartners = new List<RtbModel>();
// Тут идет обращение к запросу
var sqlCommand = GetQuerySelect(SELECT_PARTNERS_PARAM);
var cmd = CreateCommand(sqlCommand);
using (var reader = await cmd.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
// Остальной код работы
}
}
return listOfPartners;
}
Собстевнно говоря сам SQL-запрос
SELECT
[AdvertXrefDsp].[advertId],
[Dsp].[dspId],
[Dsp].[name],
[Dsp].[endpoint],
[Dsp].[protocol],
[Dsp].[protocolOptions]
FROM
[AdvertXrefDsp]
INNER JOIN [Dsp] on [AdvertXrefDsp].[dspId] = [Dsp].[dspId]
WHERE
[advertId] in (@advert_ids)
Вопрос, как можно передать параметр
@advert_ids в SQL запрос из кода?
Желательно через табличную переменную, но как бы я ни старался, "сыпались" одни ошибки