Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen

Artikel mit ‘Entity Framework’ getagged

X
Martin Kleine

Martin Kleine

Dynamische Generierung von Klassen und Datenbanken aus XML mit T4

Freitag, 21. August 2015

Bei der Entwicklung von Datenbankanwendungen wird häufig das Entity Framework (EF) zur Hilfe gezogen, um aus einem Modell die Klassen und die Datenbank zu generieren. Das EF hat sicher viele Vorteile und ist relativ einfach zu verwenden, doch das EF hat nicht für alle Probleme eine Lösung: In den generierten Klassen und im Modell fehlen oft viele wichtige und notwendige Informationen für den Entwickler.

(mehr …)

X
Jan Mattner

Jan Mattner

AIT goes Open Source

Freitag, 21. November 2014

Following a request of our customers, we are glad to announce that we will host some of our free projects as open source software on GitHub! This way the projects can profit from a great community and the progress and releases become more transparent.

The first project we publish is the AIT EF Oracle Identity Patch (GitHub), which is also available as NuGet package.

X
Jan Mattner

Jan Mattner

AIT stellt ausgewählte Projekte unter Open Source Lizenz

Freitag, 21. November 2014

Wir freuen uns bekannt zu geben, dass wir einige unserer freien Projekte als Open Source Software auf GitHub bereitstellen. Damit folgen wir den Anfragen unserer Kunden. Durch diesen Schritt können die Projekte von einer großartigen Community profitieren und die Fortschritte und Releases werden transparenter.

Als erstes Projekt veröffentlichen wir den AIT EF Oracle Identity Patch (GitHub), welcher auch als NuGet-Paket erhältlich ist.

X
Jan Mattner

Jan Mattner

Patch for Entity Framework models based on Oracle databases

Montag, 02. Juni 2014

If you use the Entity Framework (EF) with Oracle databases, you probably stumbled over the following problem. The ID field of a new entry is not automatically incremented in the EF model and keeps its default value 0, although a correct trigger has been defined in the database.

This problem is rooted in the Oracle databases up to version 12.0. Since these databases do not know identity columns, the increment is not done automatically and a workaround using triggers is necessary. Thus the identity property is not part of the *.edmx model which is created by the entity framework.

The downside of this becomes apparent if one adds new entries using the EF and assumes that the ID is automatically incremented. Actually all new entries have the default value 0 – but only in the EF model, the original entries in the database have been correctly modified! If the column in the EF model had the identity property, the model would have checked the database again and applied the right ID value.

Obviously the problem can be solved by adding the identity property post hoc to all identity columns in the EF model. This adjustment can be conveniently done by using the AIT EF Oracle Identity Patch. The patch can be downloaded as NuGet package. During the installation of the package, an *.xml configuration file is automatically created, in which one can define the columns that should be modified. In each build process this patch ensures that all specified columns in the *.edmx file have the identity property. The model is adjusted if necessary. Using this patch you don’t have to worry about the auto increment anymore.

X
Jan Mattner

Jan Mattner

Patch für Entity-Framework-Modelle basierend auf Datenbanken von Oracle

Dienstag, 27. Mai 2014

Wer das Entity Framework (EF) mit Datenbanken von Oracle nutzt, kennt das Problem. Das ID-Feld eines neuen Eintrags wird im EF-Modell nicht automatisch erhöht und hat den Wert 0, obwohl man den Trigger in der Datenbank richtig definiert hat.

Der Grund für das Problem liegt bei den Datenbanken von Oracle bis einschließlich Version 12.0, denn diese kennen keine Identitätsspalten, die ein automatisches Inkrement durchführen. Das Auto-Inkrement muss manuell durch die Einführung von Triggern bewerkstelligt werden. Deshalb spiegelt sich diese Identitätseigenschaft auch nicht in einem *.edmx-Modell wieder, welches im Rahmen des Entity Frameworks erstellt wird.

Dies kann man leicht zu spüren bekommen, wenn man nun über das EF neue Einträge anlegt und darauf vertraut, dass die ID automatisch erhöht wird. Denn nun haben alle neuen Einträge den Standardwert 0 – allerdings nur im EF-Modell, in der Datenbank wurde alles korrekt angelegt! Hätte die Spalte im EF-Modell die Identity-Eigenschaft, so hätte das Modell nochmal bei der Datenbank nachgefragt und die richtige ID übernommen.

Die Lösung des Problems liegt auf der Hand: jede Identitätsspalte muss nachträglich im EF-Modell mit der Identity-Eigenschaft versehen werden. Diese Anpassung kann ganz bequem mit dem AIT EF Oracle Identity Patch vorgenommen werden. Der Patch ist als NuGet-Paket erhältlich. Bei der Installation des Pakets wird automatisch eine *.xml-Konfigurationsdatei erzeugt, in der man jene Spalten definieren kann, für welche die Anpassung vorgenommen werden soll. Nun stellt dieser Patch bei jedem Build-Vorgang sicher, dass die angegebenen Spalten in der *.edmx-Datei die Identity-Eigenschaft haben und ändert notfalls das Modell. Damit muss man sich um das Auto-Inkrement keine Sorgen mehr machen.

X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Artikel: Windows Developer 04/2013 zu neuer Entity Framework Version

Dienstag, 05. März 2013

In der aktuellen Ausgabe des Windows Developer 04/2013 ist unser Artikel zum Thema: “Neue Version 5.0 des Entity Framework” erschienen: http://windowsdeveloper.de/magazines/Windows-Developer-4.2013

 image

X
Boris Wehrle
Boris Wehrle ist Senior Software Consultant und zertifizierter Projektleiter bei der AIT.

Boris Wehrle

Neu in .NET 4.5: Entity Framework 5.0

Montag, 24. September 2012

Die Neuerungen im Entity Framework stehen, wie die des gesamten Frameworks, im Zeichen einer Verbesserung der Entwicklungs- und Laufzeitperformance. Die bereits etablierte Technologie wurde damit konsequent weiterentwickelt. Die Highlights aus Entwicklersicht werden im Folgenden kurz vorgestellt.

(mehr …)