2016-03-24 1 views
0

Ich erstelle einen neuen Webservice in ASP.NET 5 mit der neuen .NET Core-Bibliothek, bisher habe ich nur ein Problem mit DataSet und DataTable getroffen.ASP.NET 5 - DataSet, DataTable und Freunde

Nach this Website sind sie in diesem Moment nicht enthalten, das ist in Ordnung, aber ich weiß nicht, welche Alternativen ich zu dieser Zeit habe, so bin ich nur auf der Suche nach einer Anleitung.

Ich habe den folgenden Code: public string Get (string p_sUserId, string p_sUserPassword, int p_iCustId) { Select qrySelect = new 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"; 
    } 

Wie soll ich mit den Daten umgehen, die von der Abfrage zurückgegeben werden? Ich muss eine Zeichenfolge erstellen und zurückgeben, die die obigen Daten verwendet, die von der Abfrage abgerufen werden. Jede Hilfe und Anleitung wäre willkommen.

+0

Ich glaube, Sie Entity Framework 7 –

+0

@ eddie_31003 verwenden könnten - Im Rahmen der Spezifikation für diesen speziellen Job, ich leider keinen Gebrauch von Entity Framework machen. Vielen Dank für Ihren Vorschlag! – MrDKOz

Antwort

1

Ich glaube, SqlDataReader sollte funktionieren.

 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

Danke, hoffentlich bringen sie DataSet und DataTable in zukünftigen Versionen zurück. – MrDKOz

1

DataTable und SqlDBAdapter werden jetzt mit .NET Standard 2.0 unterstützt. Aktualisieren Sie auf VS2017 Preview, fügen Sie System.Data.Common und System.Data.SqlClient nugets hinzu, und der folgende Code sollte funktionieren. Mehr Details im Blogbeitrag hier ->https://blogs.msdn.microsoft.com/devfish/2017/05/15/exploring-datatable-and-sqldbadapter-in-asp-net-core-2-0/. GitHub Repo hier ->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

Vielen Dank, dass Sie das so lange hinzugefügt haben, nachdem die Frage geschlossen wurde. – MrDKOz

+1

Lesen Sie die Frage, wenn Sie nach der Antwort suchen. Andere würden das Gleiche tun. –