Свойства класса с типом данных long
должным образом отображаются при добавлении новой миграции (сначала кодовая), но типы данных ulong
пропускаются провайдером EF mysql. Как отобразить свойство для использования mysql's unsigned bigint
?Как использовать unsigned int/long типы с Entity Framework?
ответ
Оказывается, что Entity Framework не поддерживает типы данных unsigned
. Для столбцов uint
можно просто сохранить значение в подписанном типе данных с большим диапазоном (то есть long
). Как насчет столбцов ulong
? Общее решение не могло работать для меня, потому что нет поддерживаемого EF типа данных, который может содержать ulong
без переполнения.
После небольшого размышления я выяснил простое решение этой проблемы: просто сохраните данные в поддерживаемом long
и приложите его к ulong
при доступе. Вы могли бы подумать: «Но подождите, максимальное значение longong max!». Вы все равно можете хранить байты улонга в течение долгого времени, а затем отбрасывать его обратно в улунг, когда вам это нужно, поскольку оба имеют 8 байтов. Это позволит вам сохранить переменную ulong в базу данных через 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;
}
}
}
Литье отличает unchecked
для предотвращения переполнения исключений.
Надеюсь, это поможет кому-то.
- 1. Entity Framework общие типы
- 2. Entity Framework 5.0 Сложные типы
- 3. Как Entity Framework обрабатывает сложные типы?
- 4. Entity Framework - Несколько CLR Типы
- 5. Entity Framework 5 Сложные типы
- 6. Типы записей FSharp с картой Entity Framework-First: Вложенные типы
- 7. Как хранить такие типы, как IPEndPoint с Entity Framework 6
- 8. Entity Framework одновременные множественные унаследованные типы
- 9. Как использовать Entity FrameWork ToLookUp()
- 10. Entity Framework поддерживает только скалярные типы
- 11. Как использовать Entity Framework с кодовым кодом
- 12. Как использовать транзакции с платформой Entity Framework?
- 13. Как использовать методы расширения с Entity Framework
- 14. Как использовать DBContext с Entity Framework
- 15. Как использовать транзакции с платформой Entity Framework?
- 16. Entity Framework различные типы данных внешнего ключа
- 17. Типы Bool в Entity Framework + Oracle
- 18. Entity Framework и анонимные типы в F #
- 19. Невозможно сохранить Entity Framework Унаследованные типы
- 20. Типы записей FSharp с Entity Framework Code-First
- 21. Попытка использовать Entity Framework с asp.net MVC3
- 22. Использовать MvcScaffolding с Entity Framework 5
- 23. Типы, связанные с получением имен столбцов сущности Entity Framework
- 24. Как использовать динамический DbSet в Entity Framework?
- 25. Использовать свойства ассоциации с Entity Framework
- 26. Как заставить Entity framework использовать мой компаратор
- 27. Как использовать функцию отладки SQL Entity Framework?
- 28. Entity Framework Code Первый CTP5: как определить не примитивные типы
- 29. Как использовать Entity Framework в приложении Enterprise
- 30. Как использовать TransactionScope в Entity Framework
Не могли бы вы взглянуть на http://stackoverflow.com/questions/41802581/entity-framework-code-first-with-mysqlconnector-pks-and-fks-set-as-uint? – NetUser101
Что делать, если вы пытаетесь работать с числами, большими длинными? –