У меня недавно была потребность написать свободный интерфейс для C #, который будет по существу отражать SQL. Да, я знаю о LINQ to SQL, но мне интересно быть «ближе к металлу» - имея что-то, что, по сути, обеспечивает не что иное, как IntelliSensified SQL shim в C #.
например.,
var fq = new FluentQuery();
Expression<Action> =
() => fq.SELECT.DISTINCT(Foo.ID).FROM(Foo).WHERE(Foo.Age > 22);
Теперь я подумал, что эту концепцию можно обобщить, то есть как насчет общего интерфейса EBNF для свободного интерфейса? Кто-нибудь знает, существует ли такой зверь?