У меня есть список объектов с различными свойствами.Я хочу запросить базу данных, используя эти свойства, и получить список результатов обратно.
Это то, что я пробовал:
public async Task<IEnumerable<Animal>> GetAnimalsFromAttributesAsync(IEnumerable<AnimalInfo> attributeSets)
{
using (var myDB = new SqlConnection(connectionString))
{
await myDB.OpenAsync();
var results = new List<Animal>();
foreach (var attributeSet in attributeSets)
{
var sql = @"select AnimalID, AnimalTypeID, AnimalColor
from Animals
where AnimalTypeID = @AnimalTypeID
and AnimalColorID = @AnimalColorID";
var result = myDB.Query<Animal>(sql, attributeSet);
results.AddRange(result);
}
return results
}
}
Это работает нормально для небольшого количества свойств.Но если у меня много свойств, я получаю эту ошибку:
Ошибка: входящий запрос имеет слишком много параметров.Сервер поддерживает максимум 2100 параметров.Сократите количество параметров и повторно отправьте запрос.
Есть ли лучший способ сделать это?