Moon.Orm常见问题问答FAQ
2013-10-27 17:05
253 查看
有问题在评论,我看到邮件会尽快回复
providerName="Moon.Orm,Moon.Orm.数据库类型"
错误的格式:
providerName="Moon.Orm,数据库类型"
1.用DataSet存储分页
2.用自定义实体集存储分页
3.用DictionaryList存储分页
使用demo:sqlserver为例
可以看看实际demo:
/article/4815847.html (最便捷的异步分页实现)
![](http://images.cnitblog.com/i/83201/201407/281718468836615.png)
![](http://images.cnitblog.com/i/83201/201407/281719136657266.png)
例如:
1.重点了解Db里面的方法.这是核心.
2.关于查询语句MQL:/article/4815840.html
3.关于如何使用:配置说明
4.关于增删改查:/article/4815825.html
5.如果不能运行,看看你的配置文件中
正确的格式:providerName="Moon.Orm,Moon.Orm.数据库类型"
错误的格式:
providerName="Moon.Orm,数据库类型"
6.如果发现无Table标记的异常,说明你的版本太老了,下载最新的代码生成器和moon.orm(博客左边有导航)
7.如何分页?
Db中有三个API都能完成分页功能,分别如下:1.用DataSet存储分页
/// <summary> /// 获取一个分页的DataSet /// </summary> /// <param name="mql">mql语句</param> /// <param name="sumPageCount">总页数</param> /// <param name="pageIndex">页码</param> /// <param name="onePageDataCount">每页数据的条数</param> /// <param name="oneOrderbyFieldName">sqlserver中会用到的排序字段(查询结果中一个字段),其他类型数据库则填写null</param> /// <returns>分页的DataSet</returns> public virtual DataSet GetPagerToDataSet(MQLBase mql,out int sumPageCount,int pageIndex,int onePageDataCount,string oneOrderbyFieldName)
2.用自定义实体集存储分页
/// <summary> /// 获取一个分页的自定义实体集 /// </summary> /// <param name="mql">mql语句</param> /// <param name="sumPageCount">总页数</param> /// <param name="pageIndex">页码</param> /// <param name="onePageDataCount">每页数据的条数</param> /// <param name="oneOrderbyFieldName">sqlserver中会用到的排序字段(查询结果中一个字段),其他类型数据库则填写null</param> /// <returns>自定义实体集</returns> public virtual List<T> GetPagerToOwnList<T>(MQLBase mql,out int sumPageCount,int pageIndex,int onePageDataCount,string oneOrderbyFieldName)where T:new()
3.用DictionaryList存储分页
/// <summary> /// 获取一个分页DictionaryList,不支持sqlserver2000 /// </summary> /// <param name="mql">mql语句</param> /// <param name="sumPageCount">总页数</param> /// <param name="pageIndex">页码</param> /// <param name="onePageDataCount">每页数据的条数</param> /// <param name="oneOrderbyFieldName">sqlserver中会用到的排序字段(查询结果中一个字段,如:xxid desc,或 xxid asc),其他类型数据库则填写null</param> /// <returns>DictionaryList</returns> public virtual DictionaryList GetPagerToDictionaryList(MQLBase mql,out int sumPageCount,int pageIndex,int onePageDataCount,string oneOrderbyFieldName)
使用demo:sqlserver为例
using (Db db=Db.CreateDefaultDb()) { var mql=ProductsSet.SelectAll().Where(ProductsSet.ProductId.BiggerThan(1)).OrderByDESC(ProductsSet.ProductId); int sum; var list=db.GetPagerToDictionaryList(mql,out sum,2,3,"ProductId desc"); Moon.Orm.Util.DictionaryListHelper.ShowDictionaryListInConsole(list); Console.WriteLine(list.Count); }
可以看看实际demo:
/article/4815847.html (最便捷的异步分页实现)
8.出现mysql问题
mysql用户可能出现以下问题.主要是你已经安装了mysql.data.dll在你的计算机中,删除配置文件中节点(如下第二图)![](http://images.cnitblog.com/i/83201/201407/281718468836615.png)
![](http://images.cnitblog.com/i/83201/201407/281719136657266.png)
9.关于distinct查询.
mql中没有直接提供支持.但是对于熟悉sql的人应该知道,可以用分组代替,且性能相当.例如:
var mql=UserInfoSet.SelectAll().where(UserInfoSet.ID.IN( UserInfoSet.Select(UserInfoSet.ID.Min()).GroupBy(UserInfoSet.Name) ) ); select * from userinfo where id in(select min(id) from userinfo group by name)
相关文章推荐
- Moon.Orm总目录,及常见问题解决方案(有问题直接在这里问,我会立即作答)
- jQuery新手常见问题FAQ
- 敏捷开发免费管理工具——火星人预览之五:常见问题问答
- PHP初学者常见问题集合 修正版(21问答)
- 忆龙2009:Brew FAQ-常见问答(2)
- Solaris 常见问题问答
- 2012年常见问题FAQ
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面快速入门 TC2
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何让不同的PLC程序分线程运行 TC3
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何在初始化的时候写入参数
- C#.NET常见问题(FAQ)-Combobox如何设置不可以编辑
- 转贴:最常见问题(FAQ)留着慢慢学习
- OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)
- lzg_ad:XPE常见问题FAQ
- MDaemon常见系列问题问答
- C#.NET常见问题(FAQ)-如何让listView如何选中一行
- maven常见问题问答
- C#.NET常见问题(FAQ)-索引器indexer有什么用
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-报错0X4650,18000错误怎么办
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-TwinCAT自带的找原点功能块MC_Home怎么用