C# EBNF到fluent接口
我最近需要为C编写一个流畅的接口,它将基本上镜像SQL。是的,我知道LINQtoSQL,但我感兴趣的是更接近于金属,它本质上只提供了C中的一个智能化SQL垫片 例如:C# EBNF到fluent接口,c#,sql,linq,fluent-interface,ebnf,C#,Sql,Linq,Fluent Interface,Ebnf,我最近需要为C编写一个流畅的接口,它将基本上镜像SQL。是的,我知道LINQtoSQL,但我感兴趣的是更接近于金属,它本质上只提供了C中的一个智能化SQL垫片 例如: 现在,我想这个概念可以推广,也就是说,通用的EBNF到fluent接口生成器怎么样?有人知道这样的野兽是否存在吗?我喜欢它,但你必须确保返回HasFromAndSelect之类的类型,这样你就不会得到fq.SELECTFoo.ID.SELECTFoo.Age.WHEREFoo.Age>22或fq.WHEREFoo.Age>22.S
现在,我想这个概念可以推广,也就是说,通用的EBNF到fluent接口生成器怎么样?有人知道这样的野兽是否存在吗?我喜欢它,但你必须确保返回HasFromAndSelect之类的类型,这样你就不会得到fq.SELECTFoo.ID.SELECTFoo.Age.WHEREFoo.Age>22或fq.WHEREFoo.Age>22.SELECTFoo.ID等
需要更多的思考,包括大写锁定模式正在伤害我的眼睛的事实:大写锁定是故意的-用于从视觉上区分您正在使用的内部DSL;另外,SQL通常是用caps规范地指定的。如果您现在想要它,请在Micro ORM上搜索多个选项。
var fq = new FluentQuery();
Expression<Action> =
() => fq.SELECT.DISTINCT(Foo.ID).FROM(Foo).WHERE(Foo.Age > 22);