So geben Sie ein dynamisches Objekt aus einer SQL-Abfrage zurück
Ich habe eine Situation, in der eine storeprocdure-Auflistung zurückgibt, aber ich weiß nicht, wie die Objektstruktur ist, da die Abfrage sehr dynamisch ist.
Eine Abfrage kann Folgendes zurückgeben:
ID | Standort | Marktsegment | ... n Spalten
und ein anderer kann zurückkehren
ID | Vertriebsmitarbeiter | Standort | Region | ... n Spalten
Ich sende einfach nur ein "Objekt" zurück, wie Sie im folgenden Code sehen können. Ich weiß, dass dies nicht funktionieren wird, aber wie kann ich es einrichten, damit es funktioniert?
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);
}
BEARBEITEN:
Ich weiß nicht, ob es irgendwie helfen wird, den SP zu zeigen, außer wenn ich es genauer erklären kann.
Jede Spalte wird als benutzerdefinierte Felder dargestellt. Benutzer können n benutzerdefinierte Felder erstellen. Wenn Sie also den SP für Benutzer1 ausführen und dieser über 5 benutzerdefinierte Felder verfügt, werden alle benutzerdefinierten Felder in Spalten dargestellt. Wenn Benutzer2 jedoch über 3 benutzerdefinierte Felder verfügt, werden nur 3 Spalten dargestellt. Was ich nicht steuern kann, sind der Name des benutzerdefinierten Felds und die Anzahl der benutzerdefinierten Felder.