2016-03-24 2 views
0

Я создаю новый веб-сервис в ASP.NET 5 с использованием новой библиотеки .NET Core, до сих пор я столкнулся только с проблемой использования DataSet и DataTable.ASP.NET 5 - DataSet, DataTable и друзья

В соответствии с сайтом this они не включены в данный момент времени, это хорошо, но я не знаю, какие альтернативы у меня есть в настоящее время, поэтому я просто ищу руководство.

У меня есть следующий код: публичная строка Получить (строка p_sUserId, строка p_sUserPassword, внутр p_iCustId) { Выберите qrySelect = новый Select();

 using (SqlConnection conn = new SqlConnection(Startup.ConnectionString)) 
     { 
      using (SqlCommand cmd = new SqlCommand(qrySelect.getData(), conn)) 
      { 
       cmd.Parameters.AddWithValue("@Id", sTestId); 

       using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
       { 
        using (DataSet ds = new DataSet()) 
        { 
         // foo 
         // bar 
        } 
       } 
      } 
     } 

     return "value"; 
    } 

Как я должен обрабатывать данные, возвращаемые из запроса? Мне нужно построить и вернуть строку, используя приведенные выше данные из запроса. Любая помощь и руководство будут оценены.

+0

Я считаю, что вы могли бы использовать Entity Framework 7 –

+0

@ eddie_31003 - В рамках спецификации для данной конкретной работы, к сожалению, я не могу использовать Entity Framework. Спасибо за ваше предложение! – MrDKOz

ответ

1

Я считаю, SqlDataReader должен работать.

 string sql = "SELECT * FROM Table"; 
     using (SqlConnection con = new SqlConnection(Startup.ConnectionString)) { 
      con.Open(); 
      using (SqlCommand command = new SqlCommand(sql, con)) { 

       using (IDataReader dr = command.ExecuteReader()) { 
        while (dr.Read()) { 
         //process data 
        } 
       } 
      } 
     } 
+0

Спасибо за это, надеюсь, они вернут DataSet и DataTable в будущих версиях. – MrDKOz

1

DataTable и SqlDBAdapter теперь поддерживаются с использованием .NET Standard 2.0. Обновите до VS2017 Preview, добавьте System.Data.Common и System.Data.SqlClient nugets, а код ниже должен работать. Подробнее в блоге здесь ->https://blogs.msdn.microsoft.com/devfish/2017/05/15/exploring-datatable-and-sqldbadapter-in-asp-net-core-2-0/. GitHub репо здесь ->https://github.com/jhealy/aspdotnetcore/tree/master/SqlClientPlay20.

public static DataTable ExecuteDataTableSqlDA(SqlConnection conn, CommandType cmdType, string cmdText, SqlParameter[] cmdParms) 
{ 
    System.Data.DataTable dt = new DataTable(); 
    System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter(cmdText, conn); 
    da.Fill(dt); 
    return dt; 
} 
+0

Спасибо, что добавили это так долго после того, как вопрос был закрыт. – MrDKOz

+1

Читайте вопрос, когда ищете ответ. Фигурированные другие будут делать то же самое. –

Смежные вопросы