2013-05-02 2 views
0

У меня есть таблица с столбцом tinyint в базе данных SQL Server 2008 R2, которая сопоставляет свойство байта в моем POCO.Tinyint as byte nhibernate

Проблема заключается в том, когда я запускаю запрос с ИНЕКЕ на колонке TinyInt с помощью NHibernate, это приводит к следующему SQL ...

and cast(table0_.TinyIntColumn as INT)[email protected] 

Я просто хочу знать, как избавиться от этого поведение, потому что хотя запрос по-прежнему работает его раздражающим и ненужным, поэтому кто-нибудь знает какие-либо решения или сталкивается с этим раньше?

Спасибо.

+0

Может быть, вы могли бы использовать байт или [изменить запрос НЕМНОГО] (http://blog.hompus.nl/2013/01/21/filtering-on-a-tinyint -with-entity-framework /) – V4Vendetta

+0

У меня нет выбора в типе данных SQL, которого я боюсь, и я попытался использовать список, как было предложено в этой статье, но это просто приводит к ... (table0_.TinyIntColumn in (@ p1)) – electricsheep

ответ

1

Это похоже на ошибку в поставщике LINQ.

Из следующих запросов:

session.CreateQuery("from Foo where TinyIntColumn = :b").SetParameter("b", 1) 
session.QueryOver<Foo>().Where(x => x.TinyIntColumn == 1) 
session.Query<Foo>().Where(x => x.TinyIntColumn == 1) 

... только последний результат в поведении вы испытываете.

Пожалуйста открыть вопрос в https://nhibernate.jira.com/

+0

QuerOver отлично работает, спасибо – electricsheep