Moon.Orm 5.0(MQL版)使用指南及代码生成器新版发布

时间:2023-03-08 20:21:07

一、什么是真正的使用sql?

简介:

问题:在日常开发过程中,我们常常发现一种情况:想直接使用sql语句来完成复杂复杂的逻辑查询.但如果直接使用sql,却无对应的实体类可以使用.

问题2:MVC中如何在View中返回匿名对象?

Moon给出的解决方案:

1)通过代码生成器生成对应的实体类;代码生成器下载地址:http://www.cnblogs.com/humble/p/3312018.html

2)通过GetDictionaryList、ExecuteSqlToDictionaryList等方法获取(当然也支持MQL),List<Dictionary<string,MObject>> 列表对象. 大家可以直接看db中定义的方法.去具体值的时候遍历既可以.MObject是对Object的一个封装,用于存值.当取值的时候可以用形如:a["ID"].To<int>() 的形式取到具体类型的值."ID"不分大小写;

3)通过GetDynamicList,此方法可以获取强类型的List T集合(也解决了第二个问题),虽然返回为

       object,但在.net 4.0下面,您可以用dynamic直接取值.
       string sql22="select * from Score";
       dynamic list22=db.GetDynamicList(sql22,"Score");
       foreach(var a in list22){
            Console.WriteLine(a.ID+"--"+a.ScoreM+"--"+a.UserID+"--"+a.TypeName);
        }
Moon.Orm 5.0(MQL版)使用指南及代码生成器新版发布

使用注意:

        /// <summary>
        /// (注意您需要手动自己解决sql注入问题),
        /// 此方法可以获取强类型的List T集合,虽然返回为
        /// object,但在.net 4.0下面,您可以用dynamic直接取值.
        /// dynamic list=db.GetDynamicList( sql, className);
        /// </summary>
        /// <param name="sql">您的sql语句</param>
        /// <param name="className">关乎此sql的查询所用的className(可以随意写,只要满足类名的[命名规则]), 多 个sql语句仅仅参数不一样,可以用同一个className</param>
        /// <returns>强类型的List,但类型为object</returns>
        public  object GetDynamicList(string sql,string className)

二、MQL及增删改查的使用说明

博文链接:http://www.cnblogs.com/humble/p/3293500.html