【问题标题】:Merge select on SQL Server in C#在 C# 中的 SQL Server 上合并选择
【发布时间】: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();

【问题讨论】:

标签: c# sql-server select merge asqueryable


【解决方案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);
       }
    }
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 2020-03-16
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多