c#在SQL Server上合并选择

本文关键字:合并 选择 Server SQL | 更新日期: 2023-09-27 18:05:26

是否有办法合并两个select,两个select返回单独的数据列表

所有我想做的是连接到数据库一次

第一个查询:

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上合并选择

可以同时连接两个查询,但是必须创建两个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);
       }
    }
 }