Я сталкиваюсь с проблемой: Объект типа 'System.Int64' не может быть преобразован в тип 'System.Int32' при запуске проекта SubSonic.Examples.SimpleRepo на основе поставщика SQLite.
Мне нравится, что тип данных для столбца CategoryID таблицы CategoryID равен ' integer ', а 'integer' в SQLite будет возвращаться как Int64 , в то же время CategoryID тип данных в категории классов - int , произошла вышеуказанная ошибка.
Я проверил исходный код SubSonic: \ SubSonic.Core \ SQLGeneration \ Schema \ SQLiteSchema.cs и нашел следующие коды:
else if (column.IsPrimaryKey && column.DataType == DbType.Int32
|| column.IsPrimaryKey && column.DataType == DbType.Int16
|| column.IsPrimaryKey && column.DataType == DbType.Int64
)
sb.Append(" integer ");
Кто может сказать мне цель этих кодов?
Как решить ошибку преобразования типа данных?