zoukankan      html  css  js  c++  java
  • Moon.Orm常见问题问答FAQ

     有问题在评论,我看到邮件会尽快回复 

    1.重点了解Db里面的方法.这是核心.

    2.关于查询语句MQL:http://www.cnblogs.com/humble/p/3380065.html 

    3.关于如何使用:配置说明

    4.关于增删改查:http://www.cnblogs.com/humble/p/3293500.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:

     http://www.cnblogs.com/humble/p/3463307.html (最便捷的异步分页实现)

    8.出现mysql问题

    mysql用户可能出现以下问题.主要是你已经安装了mysql.data.dll在你的计算机中,删除配置文件中节点(如下第二图)

     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)
  • 相关阅读:
    django 项目需要注意的一些点
    VUE之路
    Oracle 表格碎片的查看方法
    RHEL 6.x or 7.x 使用分区绑定ASM 磁盘的方法
    RMAN 修复主库 nologging 操作导致物理备库的坏块
    Oracle 数据库19c 回退降级到 11.2.0.4 方案
    如何评估oracle 数据库rman全备和增量备份大小
    在将Oracle GI和DB升级到19c或降级到以前的版本之前需要应用的补丁 (Doc ID 2668071.1)
    Oracle 数据库坏块处理
    opatch auto 安装11.2.0.4.20190115 PSU遇到 OUI-67133: Execution of PRE script failed,with returen value 1 报错
  • 原文地址:https://www.cnblogs.com/humble/p/3391005.html
Copyright © 2011-2022 走看看