c# - 创建类似 nhibernate 的查询生成器

标签 c# expression func

我正在尝试创建类似于 nhibernate 流畅语法的东西。

我有一个名为 Query 的类(其中 t 是 sql 表的类表示),我想添加一个Where 表达式,以便它可以在内部生成要执行的 sql 字符串。我这样做只是为了学习目的,所以这就是为什么我没有使用实际的 ORM。我不需要任何复杂的东西,只是想学习如何使用 Func 或 Expression 构建这样的东西的基础知识。

任何帮助将不胜感激。谢谢!!

我基本上想打电话:

var query = new Query<MyDomainClass>().Where(x => x.Id == 1);

并让它创建一个查询,内容为“SELECT * FROM MyDomainClass WHERE Id = 1”;

我不知道如何让对象的 where 部分工作。

最佳答案

需要解析表达式树,参见this快速介绍的链接。

关于c# - 创建类似 nhibernate 的查询生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036533/

相关文章:

java - Lambda 表达式参数/声明

error-handling - Nifi : send file to HDFS; if fail, wait one second then retry

c# - 取负数 Func<double[], double>

c# - 如何使用 C# 连接到打开的 Internet Explorer 窗口?

c# - 如何在 .NET C# 中查找特定的 XML 标记

c# - 处理将 C# 转换为 F# 的 2 个编译器错误

Swift 相等函数不起作用

C# - 应用程序在连接网络摄像机后挂起

c# - 构建将两个函数组合成一个复合函数的表达式树

c# - 如何传入异步函数以在函数类中接收值