Laden...

Ist die Kombination von Firebird & Entity Framework sinnvoll?

Erstellt von MorphieX vor 11 Jahren Letzter Beitrag vor 11 Jahren 3.804 Views
M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren
Ist die Kombination von Firebird & Entity Framework sinnvoll?

verwendetes Datenbanksystem: Firebird 2.5

Hi,

ich habe jetzt schon ein wenig mit dem Entity Framework in Verbindung mit einer Firebird Datenbank rumgespielt. Mir fiel auf, dass das EF nicht unbedingt für Firebird ausgelegt ist 😉

AutoIncrement Felder werden z.B. dadurch realisiert, dass man in den entsprechenden DB-Feldern einen Kommentar "#PK_GEN#" hinterlegt. Das halte ich für sehr unsauber...

Hat von euch schon jemand Erfahrungen mit dieser Kombination? Wie sind eure Meinungen dazu, ein fremdes DBMS mit dem Entity Framework zu verwurschteln?

MSSQL Server würde ich nur ungern verwenden, da er im Vergleich zu Firebird (kostenlos) sehr teuer ist. Und die Express-Version hat nun mal diverse Grenzen, an die wir wahrscheinlich stoßen werden (max. 10 GB pro DB?)

Alternativ würde ich mir für meine Bedürfnisse einen eigenen abgespeckten ORM schreiben...

A
764 Beiträge seit 2007
vor 11 Jahren

hallo MorphieX, ich habe Firebird mit nhibernate (fluid) am laufen und bin sehr zufrieden damit.

2.891 Beiträge seit 2004
vor 11 Jahren

Sehr gut mit Firebird zusammen arbeitet auch Telerik OpenAccess ORM.
Die Fluent-Deklarationen unterscheiden sich nur minimal von FluentNHibernate.

M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren

Vielen Dank, das werde ich mir mal ansehen.

M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren

Sehr gut mit Firebird zusammen arbeitet auch
>
.
Die Fluent-Deklarationen unterscheiden sich nur minimal von FluentNHibernate.

Irgendwie finde ich überhaupt keine Preise für das Telerik OpenAccess ORM... Ist das etwa kostenlos? 😃

2.891 Beiträge seit 2004
vor 11 Jahren

Irgendwie finde ich überhaupt keine Preise für das Telerik OpenAccess ORM... Ist das etwa kostenlos? 😃

Die Free-Edition war schon immer kostenlos. Und neulich wurde angekündigt, dass alle Features der bisherigen Bezahlversion in die Free-Edition übernommen werden.

EDIT:

Zitat von: Q2 2012 Packs Even More Punch into OpenAccess ORM. - Google Groups
Since we would like to upgrade your development arsenal with even more powerful tools, we packed OpenAccess Free Edition with all the features and benefits included in the previously distributed commercial edition. You have a bunch of new goodies at your fingertips with the Q2 2012 upgrade. As the whole package is now available for free to everyone, OpenAccess ORM will leverage yet another benefit for its users to compete with Microsoft Entity Framework.

M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren

Klasse! 😁 👍

Aber kann es sein, dass der ORM nur mit Firebird 2.0 und 2.1 richtig funktioniert? Benutzt du 2.5?

Es hakt bei mir an allen Kanten und Ecken...

2.891 Beiträge seit 2004
vor 11 Jahren

OA ORM funktioniert nur mit Firebird 2.0+. In 1.5 gibt es z.B. noch keine Subselects - die oft mal vom OR-Mapper generiert werden. Das Entity Framework bekommt man zwar mit einigen Tricks überzeugt, mit einer kleineren Version zu arbeiten, aber da muss man sich schon sehr einschränken (zumal der EF-Designer nur mit FB 2.5+ funktioniert).

Falls du mit größeren Versionen Probleme hast: Bei uns läuft das mit FB 2.5 einwandfrei.
Woran hakt es denn?

M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren

Meine Probleme befassen sich eigentlich alle mit den Metadaten.

  1. wenn ich eine neue Klasse im Designer anlege und die Klasse an eine neue Tabelle mappen möchte, verunstaltet er meine Tabellennamen und Feldnamen irgendwie... Ich habe mal ein Screenshot angefügt.
    So kann ich überhaupt nicht arbeiten... Ich muss also immer alles in der Datenbank entwerfen...

  2. CreateUpdateDDLScript hat anscheinend überhaupt keine Funktion unter Firebird.
    Ich kann alles mögliche in meiner Datenbankstruktur oder in meinem Model Schema ändern... Rufe ich anschließend die Methode CreateUpdateDDLScript auf, wird mir immer nur null übergeben, so als ständen keine Änderungen aus.

Ich glaube ich hatte noch weitere Punkte, die nicht funktionierten, aber die fallen mir gerade nicht ein... 😉

Achja, ich habe die neuste Version installiert, falls das interessiert...
Also
OpenAccess ORM: 2012.2.628.2
Firebird: 2.5.1.26351
FirebirdSql.Data.FirebirdClient.dll: 2.7.5.0
Zeichensatz: UTF8

2.891 Beiträge seit 2004
vor 11 Jahren

Hm, ich glaube, da kann ich dir nicht weiterhelfen.
Wir arbeiten nach dem Database-First-Ansatz und mappen dann mit der Fluent-Api auf die entsprechenden Tabellen/Spalten.

M
MorphieX Themenstarter:in
184 Beiträge seit 2012
vor 11 Jahren

Ok, trotzdem vielen Dank! 😃
Dann werde ich mir die FluentAPI auch mal ansehen... Bin noch neu in dem Gebiet...