Klasseneigenschaften mit dem Datentyp long
werden ordnungsgemäß zugeordnet, wenn eine neue Migration (Code-first) hinzugefügt wird, aber ulong
Datentypen werden vom EF-Provider von mysql übersprungen. Wie mappt man eine Eigenschaft, um mysql unsigned bigint
zu verwenden?Wie werden unsigned Int/Long-Typen mit Entity Framework verwendet?
Antwort
Stellt sich heraus, dass Entity Framework unsigned
Datentypen nicht unterstützt. Für uint
Spalten könnte man einfach den Wert in einem signierten Datentyp mit einem größeren Bereich speichern (also long
). Was ist mit ulong
Spalten? Die allgemeine Lösung konnte für mich nicht funktionieren, da es keinen EF-unterstützten signierten Datentyp gibt, der eine ulong
ohne Überlauf enthalten kann.
Nach ein wenig Nachdenken, habe ich eine einfache Lösung für dieses Problem gefunden: Speichern Sie einfach die Daten in den unterstützten long
Typ und werfen Sie es auf ulong
, wenn zugegriffen wird. Du denkst vielleicht: "Aber warte, Ulongs Maximalwert> lang ist der Maximalwert!" Sie können die Bytes eines ulongs immer noch lange speichern und dann nach ulong zurückschreiben, wenn Sie sie brauchen, da beide 8 Bytes haben. Auf diese Weise können Sie eine ulong-Variable über EF in einer Datenbank speichern.
Das Casting ist unchecked
, um Überlauf-Ausnahmen zu verhindern.
Ich hoffe, das hilft jemandem.
- 1. Kann das Repository-Muster nur mit Entity Framework verwendet werden?
- 2. Wie verwendet man Transaktion in Entity Framework?
- 3. Wie Entity Framework verwendet mit Datenbank zuerst und Identitätsspalten
- 4. Werden die Namen meiner DbSet-Eigenschaften von Entity Framework zuerst verwendet? Entity Framework
- 5. Kann nicht mit Entity Framework eingefügt werden
- 6. Wie InsertOrSelect mit Entity Framework
- 7. Wie Erweiterungsmethoden mit Entity Framework
- 8. Wie können Kollationskonflikte mit dem Entity Framework gelöst werden?
- 9. Wird Entity Framework in der Produktion verwendet?
- 10. Ansicht mit Entity Framework
- 11. Datenpersistenz mit Entity Framework
- 12. Wie können Entity Framework-Abfragen wiederverwendet werden (mit Methoden)?
- 13. Wie mit Entity Framework-Wert eines Fremdschlüssels angezeigt werden
- 14. Unicode mit Entity Framework
- 15. Subquery mit Entity Framework
- 16. In Entity Framework Wie
- 17. Wie Entity Framework Caching
- 18. WithOptional mit Entity Framework Core-
- 19. System.OutOfMemoryException mit Entity Framework?
- 20. Wie verwendet man Entity Framework + PostgreSQL von der Verbindung?
- 21. Wie Trimmen mit Entity Framework zu trimmen?
- 22. Entity Framework Joins mit NOLOCK
- 23. Entity Framework-Referenzen werden nicht automatisch geladen
- 24. Wie Unit-Test ein Repository-Muster, das Entity Framework verwendet?
- 25. ASP.NET MVC mit Entity Framework
- 26. Entity Framework mit mehreren edmx
- 27. Async-Programmierung mit Entity Framework
- 28. Wie können Projektionen im Entity Framework wiederverwendet werden?
- 29. Zeilenebenen-Sicherheit mit Entity Framework
- 30. Entity Framework mit ASP.NET MVC
Können Sie bitte einen Blick auf http://stackoverflow.com/questions/41802581/entity-framework-code-first-with-mysqlconnector-pks-and-fks-set-as-uint werfen? – NetUser101
Was ist, wenn Sie versuchen, mit Zahlen zu arbeiten, die größer als eine Länge sind? –