SqlQueryToList 执行SQL语句并把结果返回成一个List<dynamic>
2017-06-14 15:26
435 查看
返回一个动态结果集. 编程的时候用起来方便一些.
/// <summary> /// EF SQL 语句返回 List<dynamic> /// </summary> /// <param name="db"></param> /// <param name="sql"></param> /// <param name="paras"></param> /// <returns></returns> public static List<dynamic> SqlQueryToList(this System.Data.Entity.DbContext db, string sql, params IDataParameter[] paras) { //SqlConnection conn = new System.Data.SqlClient.SqlConnection(); //conn.ConnectionString = db.Connection.ConnectionString; //if (conn.State != ConnectionState.Open) //{ // conn.Open(); //} SqlConnection conn = GetSqlConnect(db.Database.Connection); //conn = (SqlConnection)db.Connection; SqlCommand cmd = new SqlCommand(); if (paras != null) { cmd.Parameters.AddRange(paras); } cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataTable table = new DataTable(); adapter.Fill(table); List<dynamic> os = new List<dynamic> (); foreach (DataRow row in table.Rows) { dynamic dobj = new System.Dynamic.ExpandoObject(); var dic = (IDictionary<string, dynamic>)dobj; //定义另外一个别名变量. 然后进行动态赋值.. foreach (DataColumn col in table.Columns) { dic[col.ColumnName] = row[col];// 上面不定义别名这里就不能用dic[] } os.Add(dobj); } //conn.Close();//连接需要关闭 //conn.Dispose(); return os; }
相关文章推荐
- Hibernate SQLQuery 返回List<Bean>结果集
- Hibernate执行原生SQL返回List<Map>类型结果集
- Hibernate执行原生SQL返回List<Map>类型结果集
- 通过反射把list<T>转换成datatable,kill进程,事务传入一个Lst<String>多条sql语句
- 子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,关于触发器SQL语句,完美解决
- Entity Framework 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值
- Hibernate SQLQuery查询返回空List,在mysql命令下直接执行sql语句可以正常得到记录
- Hibernate执行sql语句 返回可遍历list
- ssh框架整合的一个教偏的用法<sql-query callable="true" name="myDirInfo">
- Hibernate执行自定义sql 返回一个list展示在页面
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- .NET C# 将 mdb 中数据读为 list<string[]> 其中 path 为数据库地址 ,sql 为查询语句
- Hql的select 语句返回Ilist<object[]>类型,如何转换为映射类型
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- 经典的sql语句,将返回结果合并为一个字符串
- session.createSQLQuery(sql).list()与数据库中执行结果不一致 出现重复
- Spring JdbcTemplate # queryForList(String sql , Class<T> elementType)
- 【转载】MVC分页控件之二,为IQueryable定义一个扩展方法,直接反回PagedList<T>结果集
- $queryx->last_query()获取执行的SQL语句,只能是单条语句如find()
- Java中使用hql,sql查询返回的list<Object> 转成需要的实体对象--方法讲解!