• 为SubSonic3.0的查询(SubSonic.Query.Select和存储过程)添加更多的执行功能


      在使用SubSonic3.0的查询功能时,会发现想通过执行返回我们想要的数据,切没有相关的功能,比如说:SubSonic.Query.Select,在使用查询时没有返回DataSet或DataTable等功能,而执行存储过程时也是一样,也缺少了返回首行首列值等功能,很不方便,所以又打开看了一下插件的源码,发现其实这些功能的执行接口都存在了,而是这几个执行的类没有将他们实现出来,所以就手动加了一下。

      打开插件中的SubSonic.Query文件夹中的SqlQuery.cs文件,找到ExecuteScalar()函数,在这个函数下面加上下面代码:

             /// <summary>
            /// 执行查询,返回DataTable
            /// </summary>
            /// <returns></returns>
            public virtual DataTable ExecuteDataTable()
            {
                DataTable result;
                try
                {
                    result = _provider.ExecuteDataSet(GetCommand()).Tables[0];
                }
                catch (Exception x)
                {
                    InvalidOperationException ex = GenerateException(x);
                    throw ex;
                }
                return result;
            }
    

     因为Select类是继承SqlQuery类,所以在SqlQuery类中实现了这个功能,那么Select类就自然也有这个功能了

    具体请看截图:

      调用例子:

      

      打开插件中的SubSonic.Schema文件夹中的StoredProcedure.cs文件,找到Execute()函数,在这个函数下面加上下面代码:

    /// <summary>
    /// 执行存储过程,返回首行首列值
    /// </summary>
    public object ExecuteScalar() {
    	return Provider.ExecuteScalar(Command);
    }
    
    /// <summary>
    /// 执行存储过程,返回指定的(泛)类型
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <returns></returns>
    public T ExecuteSingle<T>() where T : new()
    {
    	return Provider.ExecuteSingle<T>(Command);
    }
    

     具体请看截图:

      

      调用例子:

      

      添加完以上代码后,将SubSonic3.0插件源码重新生成一下就可以正常使用了。

      本文章为原创内容,转载请保留下面信息。

      发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:SubSonic3.0学习群(327360708)或Email给我(1654937#qq.com),大家一起探讨,由于本人工作很繁忙,如果疑问请先留言,回复不及时也请谅解。

      想了解更多SubSonic3.0的相关问题,请观注博客:http://www.cnblogs.com/EmptyFS/

  • 相关阅读:
    LeetCode 295. Find Median from Data Stream (堆)
    LeetCode 292. Nim Game(博弈论)
    《JavaScript 模式》读书笔记(4)— 函数2
    《JavaScript 模式》读书笔记(4)— 函数1
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数3
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数2
    《JavaScript 模式》读书笔记(3)— 字面量和构造函数1
    《JavaScript 模式》读书笔记(2)— 基本技巧3
    《JavaScript 模式》读书笔记(2)— 基本技巧2
    《JavaScript 模式》读书笔记(2)— 基本技巧1
  • 原文地址:https://www.cnblogs.com/EmptyFS/p/3229601.html
Copyright © 2020-2023  润新知