У меня есть данные в базе данных, и мой код обращается к ним через LINQ to Entities.
Я пишу какое-то программное обеспечение, где мне нужно иметь возможность создавать динамический скрипт. Клиенты могут писать сценарии, но более вероятно, что они просто изменят их. Скрипт будет указывать такие вещи, как это,
Dataset data = GetDataset("table_name", "field = '1'");
if (data.Read())
{
string field = data["field"];
while (cway.Read())
{
// do some other stuff
}
}
Таким образом, приведенный выше скрипт будет считывать данные из таблицы базы данных с именем 'table_name' в базе данных в какой-то список на основе фильтра, который я указал 'field =' 1 ''. Он будет читать определенные поля и выполнять обычные сравнения и вычисления.
Самое главное, чтобы это было динамично. Я могу указать любую таблицу в нашей базе данных, любой фильтр, и тогда я должен иметь доступ к любому полю.
Я использую механизм сценариев, который означает, что сценарий, который я пишу, должен быть написан на C #. Наборы данных устарели, и я бы предпочел держаться подальше от них.
Просто для повторения, я не очень хочу придерживаться вышеуказанного формата, и я могу определить любой метод, который я хочу использовать, за кулисами для вызова моего C # -сценария. Вышесказанное может закончиться так, например,
var data = GetData("table_name", "field = '1'");
while (data.ReadNext())
{
var value = data.DynamicField;
}
Могу ли я использовать отражение, например, но, возможно, это будет слишком медленно? Есть идеи?