Laden...

Wie kann ich mit EFCore, SQL Server (PaaS in Azure) am besten Spaltenattribute erstellen?

Erstellt von Papst vor 4 Jahren Letzter Beitrag vor 4 Jahren 932 Views
P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 4 Jahren
Wie kann ich mit EFCore, SQL Server (PaaS in Azure) am besten Spaltenattribute erstellen?

verwendetes Datenbanksystem: PaaS SQL

Hallo zusammen,

wir verwenden einige SQL Datenbanken in Azure. Seitens unserer IT wurde jetzt für den SQL Server das Auditing aktiviert, so dass ich entsprechende Infos über mögliche Datenklassifizierungen in SQL Server bekomme.

Ehrlich gesagt habe ich mir um das Thema bisher keine Gedanken gemacht, ich denke aber dass es durchaus sinnvoll ist hier die passenden Spaltenattribute zu setzen.
Wie das theoretisch und praktisch "per Hand" funktioniert habe ich mir angeschaut (aus der Doku), würde das aber gerne entweder direkt an den POCO's von efcore oder mit einer Migration machen.

In der efcore doku habe ich weder etwas passendes auf Datenklassifizierung, noch auf etwas ähnliche wie "Custom Attributes" gefunden.
Hat jemand eine Idee, wie man das (ausser über einen Sql("...")) call in der Migration erledigen könnte?

16.806 Beiträge seit 2008
vor 4 Jahren

An einer POCO kann das gar nicht haften; ansonsten wäre es kein POCO.
In eine Poco gehört überhaupt keine Annotation. Verwende die Fluent API - wenn Du es mit EF Core machst.

Aber: es geht derzeit nur über ein Custom Script in der Migration.

Ich empfehle Dir aber ohnehin besser auf FluentMigrator oder auf DACPAC zu setzen statt auf EF Migrations.
Lassen sich beide viel einfacher und stabiler (meine Erfahrung) in CI/CD integrieren.

P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 4 Jahren

Du hast wohl recht mit dem Anhaften. Die Assoziation war Column Attribut und Property Attribut 😃
Für die Konfiguration nehmen wir die Fluent API.

Auf die Limitierungen der Migrations bin ich selber schon gestoßen, kann aber gerade nicht das Projekt umstellen auf ein anderes Verfahren mit dem ich zusätzlich noch keinerlei Erfahrung habe. Aktuell hoffe ich einfach auf nicht zu viele Schema Änderungen.

Schade mit dem Sql() call, plain calls würde ich gerne vermeiden.. ich werd mich bei Gelegenheit mal einlesen, vielleicht gibt es ja die Möglichkeit eine Erweiterung für die Fluent API zu schreiben.