Если вы храните логическое значение в базе данных, то вместо smallint следует использовать тип БД 'bit' (где 0 будет false, а 1 - true).
В противном случае вам необходимо сначала преобразовать модель. HasCycle в bool. Кроме того, так как это типа короткого? (Nullable), вам также нужно обрабатывать нулевые значения. Вы, вероятно, захотите обработать это в самой модели и публично представить HasCycle из модели как логическое, а не короткое. Тем не менее, вы можете столкнуться с некоторыми проблемами, идущими туда-сюда, и правильный способ сделать это - изменить тип базы данных.
конвертировать из короткого? для bool вы можете сделать что-то вроде:
bool hasCycleBool = false; //if HasCycle is null, this will remain false
if(model.HasCycle != null)
{
hasCycleBool = Convert.ToBoolean(model.HasCycle);
}