verwendetes Datenbanksystem: SQL Server 2005
Guten Morgen,
ich stehe vor einem Problem das ich mit meinen Fähigkeiten nicht gelöst bekomme und ich hoffe ihr könnt mir helfen.
Ich wollte gerne ein kleines Framework entwickeln in dem ein Part ein kleines usermanagment ist das einem so die sich wiederholenden Teile einer Webseite (Reg, Login usw.) abnimmt.
Nun wollte ich das ganze aber schon flexibel gestalten.
Das heißt für mich, der Entwickler der mit dem Framework arbeitet legt eine Config an, in der er angibt, wie die Usertabelle heißt, wie die UniqueId Spalte heißt, wie die UserId Spalte (Username, Email usw.) heißt und die Passwort Spalte.
Nun beherrsche ich zwar SQL und Linq, aber nur in der mir vertrauten weise sprich:
DBDataContext db = new DBDataContext();
db.Users.SingleOrDefault(u => u.Username == "Test" && u.Password == "Test");
Das Problem ist jetzt aber ja das diese ganzen Infos (Tabellenname, UserSpalte, Passwort) nur als Strings aus einer Config vorliegen!
Kann man Linq so dynamisch nutzen das ich diese Abfrage mit mir zur Entwicklungszeit unbekannten Werten ausführen kann?
Liebe Grüße
Hier hat einer eine Extension geschrieben, die zur Laufzeit queries
anhand einer Parameter-Repository erstellt. Scheint genau das zu sein,
was Du suchst:
http://tomasp.net/articles/dynamic-linq-queries.aspx
Hier ist auch noch eine Lib, die das leistet:
http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
Bitte beachte auch die Hinweise zum Thema Security/SQL-Injection, dass ist
bei solchen dynamischen Geschichten nicht ohne.
Robin