我正在尝试创建类似于 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/