2009-10-05 8 views
6

Kennt jemand Bibliotheken, die eine Abstraktion in LINQ über das Entity Attribute Value (EAV) Muster implementieren? Ich habe eine große Legacy-EAV-Datenbank und versuche, eine sauberere Datenzugriffsebene zu erstellen, und der Gedanke, LINQ zu verwenden, gefällt mir wirklich, also suche ich nach irgendeinem Code, den ich verwenden kann, um zu starten.Gibt es Bibliotheken, die für die Ausführung von LINQ over Entity Attribute Value zur Verfügung stehen?

+0

Konnten Sie einen Link zu etwas wie diesem hinzufügen http://en.wikipedia.org/wiki/Entity-attribute-value_model für die, die mit EAV nicht vertraut sind? –

Antwort

1

Nachdem ich an mehreren LINQ-Anbietern beteiligt war, kann ich sagen, dass mir keine LINQ-Abstraktionen für EAV bekannt sind. Ich denke du bist SOL.

Ich weiß, du hast gesagt, du hast eine bestehende EAV-Datenbank geerbt, aber wenn du eine Option hast, etwas anderes zu verwenden, wird dich vielleicht this post von EAV abbringen. :-)

0

Mit .NET 4 und dynamischen Objekten ist es nicht so schwer, EAV als DynamicObject darzustellen und dann den Datenzugriff zwischen den "Feldern" und den entsprechenden Zeilen zu handhaben. Das Übersetzen vollständiger LINQ-Abfragen über EAV ist schwieriger.

Viele Fälle, die wirklich EAV benötigen, können oft durch SQL-Sparse-Spalten, XML-Datentypen oder NoSQL-Dokumentdatenbankalternativen erreicht werden. Die Schwierigkeit beim Erstellen von LINQ-Anbietern gegen einige dieser Alternativen ist nicht trivial, wie in den Bemühungen zur Erstellung von LINQ für MongoDb und RhinoDB zu sehen ist.

Verwandte Themen