在 C# 中的 SQL Server 上合并选择
Posted
技术标签:
【中文标题】在 C# 中的 SQL Server 上合并选择【英文标题】:Merge select on SQL Server in C# 【发布时间】:2016-09-03 21:08:55 【问题描述】:有什么方法可以合并 2 选择,这两个选择都返回单独的数据列表
我只想连接数据库一次
第一个查询:
string strQuery1=
string.Format("SELECT distinct top 10 Title, Id FROM Table1");
IQueryable<MyCompanyDto> list =
_entities.Database.SqlQuery<MyCompanyDto>(strQuery1).AsQueryable();
第二次查询:
string strQuery2=
string.Format("SELECT ProductName, CountryID FROM Table2");
IQueryable<MyProductDto> list =
_entities.Database.SqlQuery<MyProductDto>(strQuery2).AsQueryable();
【问题讨论】:
***.com/questions/12715620/… @EvgeniDimitrov 谢谢,我检查了 【参考方案1】:两个查询都可以连接一次,但你必须创建两个DbCommand
:
string strQuery1= string.Format("SELECT distinct top 10 Title, Id FROM Table1");
string strQuery2= string.Format("SELECT ProductName, CountryID FROM Table2");
DataTable dataTable1 = new DataTable();
DataTable dataTable2 = new DataTable();
using (SqlConnection conn = new SqlConnection(<connection_string>))
conn.Open();
using(DbCommand command = conn.CreateCommand())
command.Connection = conn;
command.CommandText = strQuery1;
using (var reader = dbCommand.ExecuteReader())
dataTable1.Load(reader);
using(DbCommand command = conn.CreateCommand())
command.Connection = conn;
command.CommandText = strQuery2;
using (var reader = dbCommand.ExecuteReader())
dataTable2.Load(reader);
【讨论】:
以上是关于在 C# 中的 SQL Server 上合并选择的主要内容,如果未能解决你的问题,请参考以下文章
如何在合并数据集之前检查行是不是存在(SQL Server)
SQL Server UNION ALL 合并连接(连接)太慢