![]() |
Erfahrungen ORM mit Firebird
Hi,
wir wollen bald mit einem Projekt unter C# starten und würden dafür gerne Firebird als Datenbank verwenden. Was habt ihr so für Erfahrungen mit den verfügbaren Mappern in Verbindung mit Firebird? Beim Entity Framework gibt es drei Sachen, die mich stören: 1. dass das EF (bzw. der Firebird Provider dafür) die Felder, die ihren Wert über einen Generator + Trigger erhalten, nicht automatisch als solche "Autowert"-Felder erkannt werden. Da gibt es dann einen "dirty"-Trick... Man muss in der Spaltendefinition in Firebird den Kommentar der Spalte mit den Text "#PK_GEN#" belegen, also quasi
Code:
Das halte ich für eine unsaubere Umsetzung...
COMMENT ON COLUMN ANSCHRIFTEN.ID
IS '#PK_GEN#'; 2. habe ich noch nicht herausgefunden, wie ich dem EF sagen kann, dass ein Feld über einen Autowert gefüllt wird, solange es keinen Inhalt hat. Ich habe also einen Trigger auf dem Feld, welches auf NULL prüft. Wenn das Feld also NULL ist, wird ein berechneter Wert in das Feld eingetragen. Wenn nicht, bleibt mein vorgegebener Wert eingetragen. Ich habe im EF aber nur die Möglichkeit zu sagen, dass ein Feld von der Datenbank berechnet wird. Dann kann ich aber überhaupt keinen Wert vorgeben. Oder sich sage, dass es nicht berechnet wird. Dann erhalte ich aber nicht den berechneten Wert zurück. (Kein Returning im generierten SQL-Statement) 3. Es ist unglaublich langsam bei Batch-Inserts... Jeder Datensatz wird einzeln mit einem eigenen "EXECUTE BLOCK"-SQL-Statement übetragen! Und beim Telerik OpenAccess ORM hagelt es bei mir nur Fehlermeldungen, wenn ich Daten anfügen will. (Abfragen klappen komischerweise) Ich habe mir auch schon überlegt, ob es vielleicht Sinn machen würde, sich selbst einen ORM zu schreiben, der quasi genau für Firebird und meinen Anforderungen aufgebaut ist... Was meint ihr? Was nutzt ihr denn so? |
AW: Erfahrungen ORM mit Firebird
Ist NHibernate schon bei der Vorauswahl des ORM ausgeschieden? Es hat im Java Umfeld große Verbreitung, ich weiss nicht wie gut der .NET Port ist.
Daneben würde ich als Vergleich zu Firebird noch eine andere, möglichst verbreitete Datenbank wie zum Beispiel PostgreSQL testen. |
AW: Erfahrungen ORM mit Firebird
NHibernate habe ich noch nicht getestet... Werde ich aber nachholen ;-)
Hat dazu vielleicht schon jemand Erfahrungen in Verbindung mit FB? Eigentlich bin ich mit Firebird sehr zufrieden... Viele Features, leichte Installation, Embedded Support, erweiterbar, schnell und stabil... Nur weil es "keinen guten" ORM für Firebird gibt, würde ich ungern auf Firebird verzichten. Da schreibe ich mir den ORM dann doch lieber selbst und habe zudem auch noch volle Kontrolle über meinen Code... |
AW: Erfahrungen ORM mit Firebird
Zitat:
PostGreSQL ist schon sehr anständig, aber wenn schon .NET, wieso dann nicht MSSQL? Das passt schließlich wie Faust auf Auge und C#/VS bringt alles mit, was man so braucht, um sich um ORM nicht mehr zu kümmern... Oder bist Du ein 'Microsofthasser'? ;-) |
AW: Erfahrungen ORM mit Firebird
Nö... habe ich auch schon mal getestet...
Soll aber kostenlos sein und die 4/10 GB bei der Express-Version reichen für unsere Anwendungszwecke langfristig (10+ Jahre) nicht aus. Wäre ich ein "Microsofthasser" wäre ich bei Delphi geblieben ;-) |
AW: Erfahrungen ORM mit Firebird
Dann nimm PostGres bzw. ziehe es in Erwägung. Wir verwenden das auch mit .NET und großen DBs.
Mit ORM habe ich aber keine Erfahrungen, obwohl der Programmierer schon einen Workshop mit NHibernate gemacht hat. Und ich denke, Du wärst nicht der Einzige, der PostGes mit NHibernate verwendet. |
AW: Erfahrungen ORM mit Firebird
Von mir gibts ein +1 fürs selber machen.
Wenn man sich mit Datenbanken auskennt hat man langfristig mehr davon. Bei festen Frameworks muss man damit rechnen fachgerechtes Datenbank-Design an ein paar Stellen gegen Framework-konformen Murks austauschen zu müssen... Laut Google-Trends ist Firebird etwas auf dem absteigenden Ast, lebt aber noch ganz gut. Postgres hält sich da etwas besser, ist aber immer noch eher ein (schöner) Zwerg in der DB-Landschaft. |
AW: Erfahrungen ORM mit Firebird
Zitat:
Wenn ja, dann zitiere ich mal die wichtigsten Ergebnisse: Firebird: The hottest PC gaming news at CES? Globe and Mail - Jan 6 2009 My 3-minute thrill in a scary Pontiac Firebird Detroit Free Press - Apr 28 2009 NHRA, Firebird officials meet over spectator's death Toronto Star - Feb 23 2010 Moment a Pontiac Firebird hits Ohio bridge at 100mph while overtaking patrol car Daily Mail - Aug 24 2010 Northrop Grumman Firebird UAV lets pilots ride too CNET - May 9 2011 Jack Beckman takes Funny Car lead with third win at Firebird International Washington Post - Oct 17 2011 Ich denke mal, das beweist wieder den Spruch mit der Glaubwürdigkeit von Statistiken, die man nicht selbst gefälscht hat. |
L
[QUOTE=ThomasBab;1173315]
Zitat:
Ich glaube aber, die Kurve ist eh immer gleich. Versuche: "firebird database", geht runter. "PostGreSQL" geht runter. "Oracle" geht runter, "MSSQL" oder "SQL-Server": Auch runter. Was geht eigentlich hoch?) "Rihanna". Logisch. "Google"? Ne, is klar. :stupid: |
AW: Erfahrungen ORM mit Firebird
Zitat:
und Leute, die es nicht können... Vielleicht lernst Du ja auch irgendwann mal wie es geht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz