NHibernate不支持复杂的linq,就一定要用DataTable这么低级吗
来源:互联网 发布:md5加密Java应用 密钥 编辑:程序博客网 时间:2024/05/16 02:36
有些linq,好不容易写出来,正想扬眉吐屁一番,不料用NHibernate一执行,却报错,说是不支持,我靠。
只好捏着鼻子写一大段sql,交给它。这种直接执行SQL的情况,我看我同事写的,全部都是返回DataTable类型。
DataTable类型,我以前用得太多了。直接行、列这样子处理,感觉就是在直接操作数据库,有点不符合当代潮流。太low了。
怎么ORM起来呢?其实也可以这样的:
string sql = @"select p.*,l.message,l.sendorderid from targetunit u join targetperson p on u.id=p.unitid join (select u.type,l.sendorderid,o.message from sendlist l join targetUnit u on l.type=u.type join SendOrder o on l.sendorderid=o.id) l on u.type=l.type where not exists(select 1 from sendlog g where g.sendorderid=l.sendorderid and g.mobile=p.mobile and g.ok=1)";DataSet ds = personRepository.QueryDataSet(sql, null);return ds.Tables[0].AsEnumerable().Select(dataRow => new SendListVM{ ID = Convert.ToInt64(dataRow[0]), NAME = dataRow[1].ToString(), MOBILE = dataRow[2].ToString(), UNITID = Convert.ToInt64(dataRow[3]), POSITION = dataRow[4].ToString(), MESSAGE = dataRow[5].ToString(), SENDORDERID = Convert.ToInt64(dataRow[6]),}).OrderBy( m => m.SENDORDERID).ToList();
0 0
- NHibernate不支持复杂的linq,就一定要用DataTable这么低级吗
- RecyclerView,你一定要这么用!!
- 我的Blog就这么男性化吗?
- 正的就这么泛起了吗
- Linq to DataTable 解决DataSet不支持System.nullable
- Linq To Sql, 为何继承就这么费劲?
- SqlConnection就一定要关闭吗?
- 这么个低级的错误,我竞然犯了!
- Linq Datatable
- datatable linq
- ffplay不支持这么大的图片
- 初始化就这么难吗?
- 下载就这么难吗?
- linux就该这么用
- DataTable 不支持来自 XML 的架构
- php的curl也没这么复杂
- php的curl也没这么复杂
- LINQ方式 把DataTable的数据 生成全新的DataTable
- 高精度加减乘除
- Android extsd open failed: EACCES (Permission denied)
- 167.[LeetCode]Two SumII
- 面试题1
- XIB之显示在控制台中的冲突约束
- NHibernate不支持复杂的linq,就一定要用DataTable这么低级吗
- QsAmQ
- 即时定位与地图构建(SLAM)的相关研究
- Wildcard Matching
- 继承与多态
- uva10791 Minimum Sum LCM
- Ensemble Learning入门
- int main(int argc,char *argv[])中参数的意义
- Controller object