Для более обобщенных случаев (включая числа с десятичной точкой) вы можете попробовать следующий метод:
def number?(obj)
obj = obj.to_s unless obj.is_a? String
/\A[+-]?\d+(\.[\d]+)?\z/.match(obj)
end
Вы можете протестировать этот метод в сеансе irb:
(irb)
>> number?(7)
=> #
>> !!number?(7)
=> true
>> number?(-Math::PI)
=> #
>> !!number?(-Math::PI)
=> true
>> number?('hello world')
=> nil
>> !!number?('hello world')
=> false
Подробное объяснение используемого здесь регулярного выражения, посмотрите эту статью в блоге :)
В случае, если существует возможность для dataloss EF, не завершает команду базы данных обновления начиная с AutomaticMigrationDataLossAllowed = ложь по умолчанию и roolbacks действие, если Вы не выполняете его с - сила параметр.
Update-Database –TargetMigration:"Your migration name" -force
или
Update-Database –TargetMigration:Your_Migration_Index -force
Update-Database –TargetMigration:"Your migration name"
Для этой проблемы я предлагаю эту ссылку:
https://elegantcode.com/2012/04/12/entity-framework-migrations-tips /
Я нашел, что это работает, когда выполнено в Консоли Диспетчера пакетов:
Я нашел, что это работает, когда выполнено в Консоли Диспетчера пакетов: [110] Вы могли создать сценарий, который помогает. dotnet ef migrations list | select -Last 2 | select -First 1 | ForEach-Object { Update-Database -Migration
Вы могли создать сценарий, который помогает.