zoukankan      html  css  js  c++  java
  • ASP.NET MVC- EF返回连接池用ADO.NET方式访问数据库

      用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦。而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INCLUDE方法进行多表关联查询。我不太喜欢那样,还不如老老实实写做SQL语句。

      所以ADO.NET 不能完成不用掉。那么怎么将EF和ADO.NET结合。

      其实很简单,只要将EF的连接池返回成ADO.NET的SQLCONNECTION。然后就可以用ADO.NET的方式来写了。

            protected void Button4_Click(object sender, EventArgs e)
            {
                var context = new CcxDemoEntities();
                SqlConnection conn = context.Database.Connection as SqlConnection;
                conn.Open();
                var cmd = (conn).CreateCommand();
                cmd.CommandText = "select * from gBook_Message";
                SqlDataReader dr = cmd.ExecuteReader();
                DataTable dt = new DataTable();
                dt.Load(dr);
    
            }
    
            protected void Button5_Click(object sender, EventArgs e)
            {
                var context = new CcxDemoEntities();
                SqlConnection conn = context.Database.Connection as SqlConnection;
                conn.Open();
                var cmd = (conn).CreateCommand();
                cmd.CommandText = "pro_Message";
                cmd.CommandType = CommandType.StoredProcedure;
    
                DataTable dt = new DataTable();
                SqlDataReader dr = cmd.ExecuteReader();
                dt.Load(dr);
            }
  • 相关阅读:
    mysql表结构转hive表结构,字段映射脚本
    kafka 相关命令 偏移重置
    Specified key was too long; max key length is 767 bytes
    java IO 流关系图谱
    jvm 性能监控与linux常用命令
    jupiter的@TempDir 等不生效
    mysql 深度分页
    jedis的ShardedJedisPool链接池的扩容问题
    拜读《三国》看懂男人
    linux 性能优化
  • 原文地址:https://www.cnblogs.com/cxeye/p/4082678.html
Copyright © 2011-2022 走看看