Map System.Uri mit Entity Framework Fluent-Api
Ziemlich einfache Frage. Ich habe ein Modell, dass hat eine Eigenschaft, die System.Uri
geben. Uri
s nicht über einen parameterlosen default-Konstruktor, und kein ID-Feld. Gibt es eine Möglichkeit zum überschreiben der mein Modell-generation, um es zu speichern in der DB in einer benutzerdefinierten Art und Weise (z.B. nur als string
)? In NHibernate, ich habe dies getan, bevor Sie durch die Umsetzung IUserType
, aber konnte ich nicht finden, aber einen ähnlichen Mechanismus in CodeFirst.
Natürlich könnte ich das erstellen eines benutzerdefinierten Typs verwendet, die eine Uri
unter der Haube und macht regelmäßig zuordenbare Eigenschaften & constructor, ich bin nur neugierig, ob es eine Möglichkeit zum anzeigen dieser system-Typ, so dass ich nicht haben, um einen wrapper ähnlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
EF unterstützt keine benutzerdefinierten datentypzuordnungen wie NH.
Für System.Uri in allem, würde ich einen wrapper verwenden-Eigenschaft und anzeigen der tatsächliche Wert als ein string; es ist nicht so schlimm.
Dies ist eine sehr alte Frage, aber ich hatte heute die gleiche Frage. Mit Entity Framework Core 2.1, können Sie eine Konvertierung:
Leider gibt es keine direkte Möglichkeit, anzeigen
System.Uri
zustring
mit EF.Könnten Sie jedoch die Daten verwenden, Anmerkungen und attribute Ihrer URL-Eigenschaft wie folgt:
Dieser wird in der Lage zu sagen, einige Dienste, dass diese angezeigt werden sollen und überprüft werden, wie eine URL (ASP.NET und Silverlight zum Beispiel haben eingebaute Unterstützung für Sie).
Versuchen, dies zu tun..
Stellen Sie sicher, fügen Referenz benötigt für die Spalte Attribut
Hoffe, das hilft...