Как вернуть динамический объект из SQL-запроса
У меня есть ситуация, когда storeprocdure возвращает коллекцию, но я не знаю, как структура объекта, потому что запрос очень динамичный.
Один запрос может вернуть:
Id | Расположение | MarketSegment | ... n столбцов
а другой может вернуться
Id | Торговый представитель | Расположение | Регион | ... n столбцов
Я просто просто возвращаю «объект», как вы можете видеть в коде ниже. Я знаю, что это не будет работать, но как я могу настроить это так?
using (DbContext db = new Context())
{
var items = db.Database.SqlQuery<object>(
"SP @Param1, @Param2",
new SqlParameter("Param1", ped),
new SqlParameter("Param2", 25)
).ToList();
return Request.CreateResponse<List<object>>(HttpStatusCode.OK, items);
}
РЕДАКТИРОВАТЬ:
Я не знаю, поможет ли показ SP в любом случае, кроме как, если я могу объяснить это больше.
Каждый столбец представлен как пользовательские поля. Пользователи могут создавать n номеров пользовательских полей. Таким образом, если вы запускаете SP для User1, и у него есть 5 настраиваемых полей, то каждое настраиваемое поле будет представлено в столбцах, но если у User2 есть 3 настраиваемых поля, будут представлены только 3 столбца. То, что я не могу контролировать, это имя настраиваемого поля и количество настраиваемых полей.