Я использую дозвуковую 3, пытаясь преобразовать проект SQL2008 в MySQL.
когда проекты пытаются выполнить этот запрос LINQ:
public IQueryable<Marca> SelecionaMarcas()
{
try
{
return (from mc in _db.Marcas
where mc.Ativo == true
orderby mc.NomeMarca
select mc);
}
catch (Exception ex)
{
throw ex;
}
}
возвращает эту ошибку:
Object of type 'System.UInt64' cannot be converted to type 'System.Boolean'
в строке 193 SubSonic.Extensions Database.cs:
if (val.GetType().IsAssignableFrom(valueType)){
currentProp.SetValue(item, val, null);
} else {
currentProp.SetValue(item, rdr.GetValue(i).ChangeTyp
это таблица моей базы данных:
CREATE TABLE `marca` (
`ID_Marca` int(4) NOT NULL AUTO_INCREMENT,
`NomeMarca` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1',
`Ativo` bit(1) NOT NULL,
`LogoMarca` varchar(250) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`ID_Marca`)
) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
в режиме отладки я обнаружил, что это ошибка поля Ativo.
Есть ли у кого-нибудь идеи по этому поводу?
Большое спасибо!