System.Linq.Dynamic 和Nhibernate
2024-10-13 12:43:15
var session =
NHibernateSessionManager.Instance.GetSession();
var exp = System.Linq.Dynamic.DynamicExpression.ParseLambda<HrStaff,bool>("StaffNo ==@0",""); var staffList = session.QueryOver<HrStaff>().Where(exp).RootCriteria.Add(Restrictions.Eq("StaffName","n")).List();
公司里Nihibernate代码用的ICriteria 方式,但是要一些过滤条件希望用表达式实现,找了一下System.Linq.Dynamic ,不过文档只有动态代理Where,OrderBy,Select
,当然Nhibernate.linq有Linq方式,但是Linq方式和ICriteria 方式不能同时用,QueryOver到是可以和ICriteria 方式通用,找了一下源代码有方式DynamicExpression.ParseLambda,可以解决问题。
ps:nuget.org上System.Linq.Dynamic 没有签名,codeplex上的代码发现只有一个文件,就把这文件合并在自己dll里
最新文章
- Android Ormlite 学习笔记1 -- 基础
- 2D空间中求一点是否在多边形内
- RequestMethod.DELETE相关,如何用jquery实现RequestMethod.DELETE请求
- JVM生产环境参数实例及分析
- bootstrap+jQuery.validate表单校验
- C++ ofstream和ifstream
- 51nod 1239 欧拉函数之和(杜教筛)
- Codeforces Round #346 (Div. 2) A Round-House
- javascript event bubbling and capturing (再谈一谈js的事件冒泡和事件补获,看到这篇文章加深了理解)
- 用python画一朵玫瑰花
- linux下安装vld
- 【vue】路由配置
- python版本的简单贪吃蛇
- Piggy-Bank 完全背包
- tft屏图像显示也成功完成
- 03:git常见报错解决方法
- tomcat多实例的端口设置
- 补充appium -api
- cmd--命令短集
- 《Mysql技术内幕,Innodb存储引擎》——索引与算法