Entity Framework执行Sql语句返回DataTable
来源:互联网 发布:创世写作 mac 编辑:程序博客网 时间:2024/05/16 07:38
Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作。如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的话,那么就可以用这个连接字符串,自己写ADO的代码,去数据库进行相关的操作。特别是对于一些复杂的查询,这时候,一般是想直接执行一个Sql语句,返回一个结果集。下面是一个方法,直接返回DataTable。
/// <summary>/// EF SQL 语句返回 dataTable/// </summary>/// <param name="db"></param>/// <param name="sql"></param>/// <param name="parameters"></param>/// <returns></returns>public static DataTable SqlQueryForDataTatable(this Database db,string sql,SqlParameter[] parameters){SqlConnection conn = new System.Data.SqlClient.SqlConnection();conn.ConnectionString = db.Connection.ConnectionString;if (conn.State != ConnectionState.Open){conn.Open();}SqlCommand cmd = new SqlCommand();cmd.Connection = conn;cmd.CommandText = sql;if (parameters.Length > 0){foreach (var item in parameters){cmd.Parameters.Add(item);}}SqlDataAdapter adapter = new SqlDataAdapter(cmd);DataTable table = new DataTable();adapter.Fill(table);return table;}
然后调用的时候,直接传入Context的Database进去,就可以了。
方法二、写成类的扩展方法
public static class DbExtend { public static DataTable Select_Table_Info(this DbEntities model, string sql, SqlParameter[] parameters) { SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = model.Database.Connection.ConnectionString; if (conn.State != ConnectionState.Open) { conn.Open(); } SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; if(parameters !=null && parameters.Length >0) foreach (var item in parameters) { cmd.Parameters.Add(item); } SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataTable table = new DataTable(); adapter.Fill(table); return table; } }
0 0
- Entity Framework执行Sql语句返回DataTable
- Entity Framework执行Sql语句返回DataTable
- entity framework(EF) 直接执行数据库命令并返回DataTable 参数化sql语句
- Entity Framework(EF) 直接执行数据库命令并返回 DataTable 数据参数化 SQL 语句
- entity framework(EF) 直接执行数据库命令并返回DataTable
- Entity Framework直接执行SQL语句
- Entity Framework直接执行SQL语句
- Entity Framework 执行sql语句 存储过程
- entity framework执行sql
- Entity framework 执行sql
- 在Entity Framework 中执行T-sql语句
- entity framework 6.0 EF6 执行存储过程,sql语句
- Entity Framework Core 执行SQL语句和存储过程
- Entity Framework Core 执行SQL语句和存储过程
- ActiveRecord 执行原生SQL语句及返回DataTable
- AEF 中的SQL语句执行能否返回数据集(DataTable)?
- entity framework 直接执行查询语句
- Entity Framework 支持 DataTable
- Strassen矩阵乘法
- struts2 result param
- 改变拖延症?你只需要20秒疯狂的勇气
- 如何利用android访问assets下的文件或文件夹
- CodeForces 400D (最短路+并查集) Dima and Bacteria
- Entity Framework执行Sql语句返回DataTable
- Huffman编码树
- iOS里常见的加密方法
- canvas元素的用法
- 百度地图sdk学习心得
- 响应式网站制作
- First-class function 头等函数
- 第三章SignalR在线聊天例子
- Poj 3734 Blocks(DP,矩阵乘法优化)