最近,我需要为C#编写一个流畅的界面,这将从本质上反映SQL。是的,我知道LINQ,但我感兴趣的是“更接近金属”--本质上,它只提供了C#中一个智能敏感的shim。
例如,
var fq = new FluentQuery();
Expression<Action> =
() => fq.SELECT.DISTINCT(Foo.ID).FROM(Foo).WHERE(Foo.Age > 22);现在,我在想这个概念是可以推广的--也就是说,从EBNF到fluent接口生成器怎么样?有人知道这样的野兽是否存在吗?
发布于 2008-10-29 08:31:08
我喜欢它,但您必须确保返回类似HasFromAndSelect之类的类型,这样才不会以fq.SELECT(Foo.ID).SELECT(Foo.Age).WHERE(Foo.Age > 22)或fq.WHERE(Foo.Age > 22).SELECT(Foo.ID)之类的方式结束。
还有更多的想法需要深入研究,包括CAPS锁模式正在伤害我的眼睛:)
https://stackoverflow.com/questions/246080
复制相似问题