c# - EBNF 到流畅的接口(interface)

标签 c# sql linq fluent-interface ebnf

我最近需要为 C# 编写一个基本反射(reflect) SQL 的流畅界面。是的,我知道 LINQ to SQL,但我对“更接近金属”很感兴趣——有一些东西基本上只提供 C# 中的 Intellisensified SQL shim。

例如,

var fq = new FluentQuery();
Expression<Action> =
    () => fq.SELECT.DISTINCT(Foo.ID).FROM(Foo).WHERE(Foo.Age > 22);

现在,我在想这个概念可以推广——也就是说,通用的 EBNF 到流畅的界面生成器怎么样?有谁知道这样的野兽是否存在?

最佳答案

我喜欢它,但你必须确保返回像 HasFromAndSelect 或类似的类型,这样你就不会以 fq.SELECT(Foo.ID).SELECT(Foo.Age).WHERE 结束(Foo.Age > 22)fq.WHERE(Foo.Age > 22).SELECT(Foo.ID)

还有更多的想法需要考虑,包括 CAPS LOCK MODE 伤害了我的眼睛 :)

关于c# - EBNF 到流畅的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/246080/

相关文章:

c# - 在 visual studio 2012 Express Edition 中运行 sql 脚本 [主题 : C# interpreted queries]

c# - 连接到sql server,问题

c# - Linq to Entities - 使用 Include() 进行预加载

SQLServer 的 UNION 性能比 UNION ALL 好?

mysql - 消除在单个 SELECT 语句中两次计算相同值的情况

c# - 将此 XML 读取到字典的最快/最有效的方法是什么(Linq 或其他?)

c# - 无法从文本框获取更新值

c# - 无法从 C# 项目引用 IronPython 项目

android - 如何使用sqlite3从android应用程序中的表中提取数据?

c# - OrderBy 使用 Dynamic Linq with Relation