Ich habe Daten in einer Datenbank, und mein Code greift über LINQ to Entities darauf zu.Dynamische Datenstrukturen in C#
Ich schreibe einige Software, wo ich in der Lage sein muss, ein dynamisches Skript zu erstellen. Clients können die Skripte schreiben, aber es ist wahrscheinlicher, dass sie sie nur modifizieren. Das Skript wird Sachen wie diese angeben,
Dataset data = GetDataset("table_name", "field = '1'");
if (data.Read())
{
string field = data["field"];
while (cway.Read())
{
// do some other stuff
}
}
Damit Skript oben wird Daten aus der Datenbanktabelle ‚table_name‘ in der Datenbank in eine Liste von einer Art auf der Grundlage der Filter I angegebenen ‚Feld mit dem Namen lesen = '1' '. Es wird bestimmte Felder lesen und normale Vergleiche und Berechnungen durchführen.
Das Wichtigste ist, dass dies dynamisch sein muss. Ich kann jede Tabelle in unserer Datenbank angeben, jeden Filter und ich muss dann auf jedes Feld zugreifen können.
Ich verwende eine Skript-Engine, die bedeutet, dass das Skript, das ich schreibe, in C# geschrieben werden muss. Datensätze sind veraltet und ich würde mich lieber von ihnen fernhalten.
Nur um neu zu iterieren Ich möchte nicht wirklich mit dem obigen Format bleiben, und ich kann jede Methode definieren, die ich hinter den Kulissen für mein C# -Skript aufrufen möchte. Die oben könnte wie dies zum Beispiel beenden,
var data = GetData("table_name", "field = '1'");
while (data.ReadNext())
{
var value = data.DynamicField;
}
Kann ich Reflexion zum Beispiel verwenden, aber vielleicht zu langsam, das wäre? Irgendwelche Ideen?
Danke, aber Sie ziehen alle Daten in die Array-Liste ohne Rücksicht auf die Feldnamen. Ich suche nach einer modernen Art, dies zu kodieren. Verwenden Sie keine Datasets oder Arraylisten, wenn möglich, verwenden Sie LINQ to Entities. Ich suche nach einer Möglichkeit, eine Sammlung von Datensätzen dynamisch zu halten und auf bestimmte Felder in diesen Datensätzen innerhalb des Skripts zuzugreifen. – peter