Я немного ленив в NHibernate и использую Session.CreateSqlQuery (...) вместо того, чтобы делать все это с помощью Lambda's. Во всяком случае, какая структура меня заключается в том, что, похоже, проблема заключается в преобразовании некоторых типов, возвращаемых из (в данном случае MySQL) DB в собственные .Net tyes.NHibernate Преобразование данных CreateSQLQuery из бит в boolean error
Запрос на вопрос выглядит следующим образом ....
IList<Client> allocatableClients =
Session.CreateSQLQuery(
"select clients.id as Id, clients.name as Name, clients.customercode as CustomerCode, clients.superclient as SuperClient, clients.clienttypeid as ClientType " +
...
...
.SetResultTransformer(new NHibernate.Transform.AliasToBeanResultTransformer(typeof(Client))).List<Client>();
Тип в базе данных SuperClient немного (1) и в клиенте объект типа является BOOL.
получил Ошибка:
System.ArgumentException: Object of type 'System.UInt64' cannot be converted to type 'System.Boolean'.
Это кажется странным, что это преобразование не может быть завершена.
Было бы полезно для любых идей.
Спасибо.
Мой плохо! Я должен был включить остальную часть моего запроса, в которой есть некоторые пункты, которые я хотел бы избежать «лямбда-ин». – Remotec
Нет необходимости в lambdas в предложении where: - используйте '.Add()' в 'CreateCriteria', чтобы добавить' SimpleExpression' или 'Restriction' –