Właściwości klasy z typem danych long
są poprawnie odwzorowywane podczas dodawania nowej migracji (najpierw kod), ale typy danych ulong
są pomijane przez dostawcę EF mysql. W jaki sposób można odwzorować właściwość do używania mysql's unsigned bigint
?Jak używać typów unsigned int/long z Entity Framework?
Odpowiedz
Okazuje się, że Entity Framework nie obsługuje typów danych unsigned
. Dla kolumn uint
można po prostu zapisać wartość w podpisanym typie danych z większym zakresem (czyli long
). A co z kolumnami ulong
? Powszechne rozwiązanie nie może dla mnie działać, ponieważ nie ma podpisanego typu danych podpisanego przez EF, który może pomieścić ulong
bez przepełnienia.
Po krótkim zastanowieniu znalazłem proste rozwiązanie tego problemu: po prostu przechowuj dane w obsługiwanym typie long
i przesyłaj je do ulong
, gdy uzyskasz do nich dostęp. Możliwe, że myślisz: "Ale poczekaj, wartość max długa> długa maksymalna wartość!" Wciąż możesz przechowywać bajty długiego, a następnie odrzucić je z powrotem do ulong, gdy ich potrzebujesz, ponieważ oba mają 8 bajtów. Umożliwi to zapisanie zmiennej ulong w bazie danych poprzez EF.
// Avoid modifying the following directly.
// Used as a database column only.
public long __MyVariable { get; set; }
// Access/modify this variable instead.
// Tell EF not to map this field to a Db table
[NotMapped]
public ulong MyVariable
{
get
{
unchecked
{
return (ulong)__MyVariable;
}
}
set
{
unchecked
{
__MyVariable = (long)value;
}
}
}
Odlew jest unchecked
zapobiec wyjątków przelewowy.
Mam nadzieję, że to komuś pomaga.
- 1. Jak używać Func w wyrażeniu z Linq do Entity Framework?
- 2. Jak używać tabeli temporalnej z systemem Entity Framework?
- 3. Unicode z Entity Framework
- 4. SQLite z Entity Framework
- 5. Używanie MariaDB z Entity Framework
- 6. Jak miksować Entity Framework z Web API
- 7. Entity-Framework 5.0 z PostgreSQL
- 8. Czy mogę używać dapper-dot-net z Entity Framework?
- 9. Jak używać domyślnego Entity Framework i domyślną datę wartości
- 10. Entity Framework lazy ładowanie
- 11. WithOptional z Entity Framework rdzeń
- 12. Jak używać słowa kluczowe BETWEEN w Entity Framework?
- 13. Jak używać właściwości String jako klucza podstawowego w Entity Framework
- 14. Jak używać Data Tylko jako typ danych w Entity Framework
- 15. Entity Framework VS Ado.net
- 16. Entity Framework z wieloma edmx
- 17. ASP.NET MVC z Entity Framework
- 18. własnym przedstawieniu z Entity Framework
- 19. Kontrakty WCF z Entity Framework?
- 20. Atomowy przyrost z Entity Framework
- 21. Entity Framework: Dziedziczenie i Dołącz
- 22. Jak rozwiązać konflikt sortowania z Entity Framework?
- 23. Jak powiązać powiązanie Entity Framework z ComboBox?
- 24. Jak zaktualizować klucz podstawowy z Entity Framework?
- 25. Jak obsługiwać kolumny varchar z Entity Framework?
- 26. Jak korzystać z transakcji w Entity Framework?
- 27. Jak wycofać transakcję z Entity Framework
- 28. Entity Framework 4.2 enum support
- 29. Entity Framework z opcjonalnymi parametrami?
- 30. Entity Framework - Dziedziczenie z .Include?
Czy możesz rzucić okiem na http://stackoverflow.com/questions/41802581/entity-framework-code-first-with-mysqlconnector-pks-and-fks-set-as-uint? – NetUser101
Co jeśli próbujesz pracować z liczbami większymi niż długie? –