Использование DbContext.Database.SqlQuery<TElement>(sql,params) с универсальным типом

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

      SqlParameter[] parameters = {
  new SqlParameter("@somevar", 123),
  new SqlParameter("@othervar", 456)
}
List<MyClass> result;
using (MyContext contextName = new MyContext())
{
  result = contextName.Database.SqlQuery<MyClass>("mystoredproc @somevar, @othervar", parameters).ToList();
}

И я подумал про себя, а почему бы не сделать стандартный набор кода, который проходит в хранимой процедуре и SqlParameter[]

Результат MyClass = getStoredProcResult («mystoredproc», параметры);

Где я борюсь, так это сделать SqlQuery универсальным.

я пытался использовать

      result = contextName.Database.SqlQuery<object>(procname, parameters);

Тем не менее, я всегда просто получаю объект, и он не вернется обратно в MyClass, который я пытался использовать Type, но получаю при этом ошибку.

Есть ли что-то, что мне не хватает, или он просто не справляется с универсальным классом, и я обречен повторяться?

0 ответов

Другие вопросы по тегам