Я хотел бы провести рефакторинг многих вызовов хранимых процедур, которые имеют очень похожий шаблон для использования универсального метода.Я все еще новичок в асинхронном программировании, поэтому хотел бы получить несколько советов о влиянии моего намерения.
К сожалению, я не смогу использовать EF
Существующий пример:
var myModel = new Model();
using (var connection = new SqlConnection("Some Connection String"))
{
using (var command = new SqlCommand("Some Stored Procedure Name", connection)
{
CommandType = CommandType.StoredProcedure
})
{
await connection.OpenAsync();
//Code Building a list of params
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
//Code Building myModel
}
}
}
}
return myModel;
То, чего я хотел бы добиться, - это метод, в котором вы передаете имя хранимой процедуры и список параметров, и он возвращает объект, который я могу перебрать, хотя и для извлечения нужных мне значений.
Есть ли какие-либо соображения, которые мне нужно знать относительно OpenAsync / ReadAsync?Кроме того, какой объект лучше всего будет вернуть данные от читателя?