c#MVC using的用法

原创 2015年07月08日 15:43:45

今天研究公司的mvc项目的时候,才发现using(){},一开始不知道干嘛的,搜索也搜不到相关资料,就找了好多的关键字搜索了一下,终于在一篇博客上找到了这个用法,给大家跟我一样接触编程不久的新手学习一下。

using这个关键字在C#中共用三个用法:  (最重要的是第三种方法,我先放一个我看到的实例)

例子:之前在webform中用到的连接字符串,每次调用ado的时候需要conn.open();用完之后一定要关闭,conn.close();这是我在最近项目中看到的类似于sqlhelper的东西:

public class DBContext : IDisposable
    {
        private static string connectionString;
        private static DbProviderFactory dbfactory;
        private DbConnection conn;

        static DBContext()
        {
            if (ConfigurationManager.ConnectionStrings.Count < 0)
                throw new ConnectionStringException();
            ConnectionStringSettings css = ConfigurationManager.ConnectionStrings["strCon"];
            dbfactory = DbProviderFactories.GetFactory(css.ProviderName);
            connectionString = css.ConnectionString;
        }

        public DBContext()
        {
            this.conn = dbfactory.CreateConnection();
            this.conn.ConnectionString = connectionString;
            this.conn.Open();
        }

        ~DBContext()
        {
            Dispose(false);
        }

        public DataTable OpenQuery(string sql, params object[] args)
        {
            DataTable dt = new DataTable();
            using (DbDataAdapter adapter = dbfactory.CreateDataAdapter())
            {
                using (DbCommand cmd = PrepareCommand(sql, args))
                {
                    adapter.SelectCommand = cmd;
                    adapter.Fill(dt);
                }
            }
            return dt;
        }

上面这些东西就是一部分我现在看到的DBcontext了,不是很明白dbfactory的出现,不是每次new一下是实例化么,在我的印象里实例化就是new,有点小尴尬。。

接下来是项目中控制器中的一段代码:sql_supply与,sql_demmand,是两个执行查询的SQL语句

 using (DBContext context = new DBContext())
            {
                ViewData["dt_supply"] = context.OpenQuery(sql_supply);
                ViewData["dt_demmand"] = context.OpenQuery(sql_demmand);

                 return View();
        }

好了,这么简单的调用方法就把一个表的数据传递到了view了,在view上@viewdata["dt_supply"],行列,就可以取到值了

看到这里,一直纳闷在using ()里实例化了DBContext context = new DBContext(),因为构造函数里直接写了open,所以现在与数据库之间的联系是打开的,{}里就简单了,用了dbcontext的方法来返回一个dt,把dt赋值到viewdata里,return view();在另一个}后面相对于就把这个context给释放了,关掉了与数据库的连接,我是这样理解的,下面的游客大神么给点批评哦。接下来看using的使用。

1、用在命名空间里
   如:using System;  这个谁都知道,为了不用写类的全名(可以把System.Console  写成  Console)  
2、可以用来对一个类进行重命名,也是为了使用方便,如:  
    using System;  
    using hahaha     =     System.Console;   
    namespace  Console001  
    {  
    public class Class1  
    {  
    public static void Main()  
    {  
    hahaha.WriteLine("using 的第二种用法!");  
    }  
    }  
    }  
3,C#中的using除了作为命名空间指示符(using System),类型的别名指示符(using Dos=System.Console),还有资源管理的语句功能:
using (R r1 = new R ()) {
   r1.F();
}
在C#中被翻译为:
R r1 = new R();
try {
   r1.F();
}
finally {
   if (r1 != null) ((IDisposable)r1).Dispose();
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C#-using用法详解

  • 2013-08-16 23:03
  • 397KB
  • 下载

C# using的用法介绍

using的多重身份都体现在下面三个方面: 1、引入命名空间 2、创建别名 3、强制资源清理 (1)引用命名空间 using作为引入命名空间指令的用法规则为: ...

C#-using用法详解

using 关键字有两个主要用途:   (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。   (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。 using指令 ...

C#-using用法详解

using 关键字有两个主要用途:   (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。   (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。 usin...

C#中using用法及操作实践

C#关键字的用法不单只有一种方法的。现在我总结了一下Using和New的用法,顺便巩固下自己的知识。  Using  (1)引用命名空间  using作为引入命名空间指令的用法规...

C# Using用法三则

(1)引用命名空间 using作为引入命名空间指令的用法规则为: using Namespace; 在.NET程序中,最常见的代码莫过于在程序文件的开头引入System命名空间,其原因在...

13.C#:using用法详解

using 关键字有两个主要用途:   (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。   (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。 usin...

Using c#用法三则

Using (1)引用命名空间 using作为引入命名空间指令的用法规则为: using Namespace; 在.NET程序中,最常见的代码莫过于在程序文件的开头引入System命名...

c#中using的用法详解

using 关键字有两个主要用途:   (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。   (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。 usin...

C# ASP.NET MVC HtmlHelper用法大全

HTML扩展类的所有方法都有2个参数:以textbox为例子public static string TextBox( this HtmlHelper htmlHelper, string name,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)