Laden...

Best Practice zu SQL in C#?

Erstellt von MarcusS vor 13 Jahren Letzter Beitrag vor 13 Jahren 852 Views
M
MarcusS Themenstarter:in
153 Beiträge seit 2007
vor 13 Jahren
Best Practice zu SQL in C#?

verwendetes Datenbanksystem: MS SQL 2005

Existiert eine Art Best Practice wie Ihr SQL-Statements ind C# einbindet?
Sql-Funktionen kommen leider nicht in Frage

Ich binde die Abfragen immer folgendermaßen ein:


string sql = string.Empty;
sql += "SELECT * ";
sql += "FROM abc ";
sql += "WHERE a=b ";

SqlCommand cmd = new SqlCommand(sql);
DataTable dt = ExecuteSQLQuery(cmd);

Habt Ihr bessere Ideen?

Danke
Marcus

S
324 Beiträge seit 2007
vor 13 Jahren

Linq / Entity Framework ?

Gelöschter Account
vor 13 Jahren

so:

        private const string SQL_XYZ_SELECT =
            @"
SELECT * 
FROM XYZ
JOIN AAA as A ON A.ID = XYZ.ID
WHERE ASDF = '1'
";

oder per Resource Datei... je nach Anforderung.

F
56 Beiträge seit 2009
vor 13 Jahren

Ich denke es kommt stark darauf an in welcher Form man mit den Daten weiter arbeiten muss. Ich habe mich bei einem großen Projekt dazu entschieden Broker/Fassade vollständig selbst zu implementieren. Da kommt viel Aufwand für Objektmaterialisierung und -dematieralisierung auf einen zu, jedoch kann man dann direkt mit den Objekten arbeiten ohne an DataTables gebunden zu sein. Ich habe auch sehr viele andere Varianten versucht (z.B. NHibernate) das wird allerdings bei großen Datenmengen unglaublich langsam. Wenn man geübt ist kommt man mit manuellem Broker implementieren und händischem SQLCommand schreiben schon sehr weit.

Falls es mehr um das Statement Handling geht, da sind FormatStrings und StringBuilder gut geeignet - weil leicht zu lesen und leicht zu ändern...

F
10.010 Beiträge seit 2004
vor 13 Jahren

Viel wichtiger als das formatieren/ bereistellen der Strings ist [Artikelserie] Parameter von SQL Befehlen