Я играю с базовой реализацией объекта «Объект запроса» (в кавычках, поскольку это реализация шаблона интерпретатора), и я думал об улучшении которые я не знаю, как реализовать.Игра с объектным запросом «шаблон» в C# и деревьях выражений
Как вы знаете объект Criterion будет выглядеть следующим образом:
public class Criterion
{
...
string FieldName { get; set; }
string Value { get; set; }
....
}
Что мне не нравится тот факт, что я должен добавить поле строку, так что я думал, смогу ли я создать некоторые тип общего критерия Критерий, поэтому я мог бы использовать его так:
var criterion = new Criterion<Person>();
criterion.Field = c => c.FirstName;
criterion.Value = "John";
или что-то в этом роде.
Конечно бы там также часть, где критерии должны быть преобразованы в SQL, так что я мог бы сделать что-то вроде:
string query = "SELECT * FROM Person WHERE " + criteria.Field.ToString() + " = '" + criteria.Value + "'"
Я уверен, что там должен быть способ сделать это, но я просто не могу обернуть вокруг себя голову.
Благодарим за помощь.
Возможный дубликат [Получить имя и тип метода, используя выражение лямбда] (http://stackoverflow.com/questions/273941/get-method-name-and-type-using-lambda- выражение) – nawfal