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?
Antwort
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. :-)
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.
- 1. Gibt es JAR-Dateien von Drittanbietern, die für die Java-Mathebewertung zur Verfügung stehen?
- 2. Welche Einheitentestoptionen stehen für Silverlight zur Verfügung?
- 3. Gibt es Webstandards für Voice over IP?
- 4. Welche Algorithmen stehen zur Größenänderung einer Hash-Tabelle zur Verfügung?
- 5. Deskriptoren und Python-Attribute zur Verfügung gestellt
- 6. Welche Tools stehen zur Verfügung, um jQuery-Plugins zu dokumentieren?
- 7. Gibt es ein Entity Attribute Value (EAV) Framework für PHP/MySQL?
- 8. Welche Tools stehen zum Testen der SQL-Anweisungsleistung zur Verfügung?
- 9. Welche OpenGL ES-Frameworks stehen für 2D-Benutzeroberflächen mit iPhone OS zur Verfügung?
- 10. Welche Optionen stehen für die Quellcodeverwaltung in SQL Server 2005/2008 zur Verfügung?
- 11. Gibt es C# Bibliotheken für die Erkennung von benannten Entitäten?
- 12. Autofac Warten auf Modul zur Verfügung zu stehen
- 13. Welche neuen Funktionen werden in ASP.Net 4.0 zur Verfügung stehen?
- 14. Mehrere generische Typen in eine abstrakte Klasse einfügen, die dem Compiler zur Verfügung stehen sollte
- 15. Gibt es eine Möglichkeit, GHC die Typklasseneinschränkungen von typisierten Löchern zur Verfügung zu stellen?
- 16. XSLT xsl value von select = element [@attribute = '$ variable'] gibt
- 17. Gibt es Bibliotheken in QT - für Desktops - die OpenStreetMap verwenden?
- 18. Kompilierte LINQ-Abfrage, die Bool Value zurückgibt?
- 19. Welche Tools stehen für TDDD (Test Driven Database Development) zur Verfügung?
- 20. Scalacheck ignoriert die zur Verfügung gestellten Generatoren
- 21. Welche Text-zu-Sprache- und Spracherkennungsbibliotheken stehen für Clojure zur Verfügung?
- 22. Deserialisieren von JSON-Antworten, die Attribute enthalten, die in Konflikt mit Schlüsselwörtern stehen
- 23. Welche Systemschriften stehen für PIL in Google App Engine zur Verfügung?
- 24. Was ist die Pythonic-Methode, um Cython-Attribute Python zur Verfügung zu stellen?
- 25. Gibt es eine Python-Bibliothek für die Interaktion mit Genesys?
- 26. Was passiert, wenn der DB-Engine keine Nummern mehr für Primärschlüssel zur Verfügung stehen?
- 27. Gibt es trotzdem JS-Bibliotheken in Riak?
- 28. Gibt es eine Skript zur Verfügung, die Update phpMyadmin Tabellendaten ohne Neuladen der Browser
- 29. Gibt es Bibliotheken oder Beispiele für die Handhabung von OFX auf dem iPhone?
- 30. Gibt es eine Möglichkeit, alle Variablen zu betrachten, die mir im angegebenen Bereich zur Verfügung stehen, oder verschiedene Bereiche mit der Datei console.log zu betrachten?
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? –