2010-12-27 6 views
0

Ich muss eine spezielle, eingebettete Datenbank für einige .net Apps schreiben. Der Datenbankteil selbst ist kein Problem (wie gesagt, es ist spezialisiert), aber der Zugriff darauf von meinem .net-Code ist.Was benötige ich, um auf meine eigene Datenbank zugreifen zu können?

Ich dachte über LINQ als einzigen Datenzugriff (also kein ADO.net, was für das Szenario in Ordnung ist), aber ich habe das nie getan und ich frage mich, was ich eigentlich implementieren muss?

Benötige ich IQueryable? Gibt es eine Reihe von Standardmethoden/Schnittstellen, die ich implementieren muss? Gibt es einen Standard für schreiben Daten oder muss ich meine eigene Semantik dafür erstellen?

+0

Haben Sie Indizes oder Abfragepläne oder andere Dinge, die IQueryable nutzen könnten? – SLaks

+0

@SLaks Nein, es ist einfach "SELECT field1, field2, tf3 aus Tabelle1 join table2 auf table2.fid = table1.id wo table1.field3 = 1 Reihenfolge von table2.field4" Art von Sachen (außer es ist nicht SQL) –

Antwort

3

Benötige ich IQueryable?

Ja, hier wird LINQ angeschlossen.

Gibt es einen Standard für die Daten schreiben oder muss ich meine eigene Semantik für sie schaffen?

Ihre eigenen. OTOH, das ist normalerweise der leichtere Teil - du machst normalerweise einen JOIN oder etwas, wenn du eine Zeile aktualisierst.

Ich persönlich benutze BLToolkit heutzutage sehr oft (brauche etwas schnell und leicht). Sie haben ein SqlQuery-Objekt, das Klassen in Tabellen manipulieren kann. GOod genug für die meisten direkten DB-Manipulation (und ich verwende keine Änderungsverfolgung - die meisten meiner Objekte ändern sich nie, aber sind in der Datenbank versioniert).

LINQ-Anbieter sind ziemlich kompliziert. Wie schreibt eine Ausführungsmaschine. Sicher willst du diesen Weg gehen?

2

Schreiben Sie Ihren eigenen Linq-Provider ist sehr schwierig - Ich habe es vor einer Weile untersucht und wurde entmutigt ... kann es immer noch tun.

Siehe die Antworten here - ein paar Tutorials sind verknüpft.