C# Tinyint作为字节nhibernate

C# Tinyint作为字节nhibernate,c#,sql-server,linq,nhibernate,byte,C#,Sql Server,Linq,Nhibernate,Byte,我在SQLServer2008R2数据库中有一个带有tinyint列的表,它映射到我的POCO中的字节属性 问题是,每当我使用NHibernate在tinyint列上运行带有where子句的查询时,它都会导致以下sql and cast(table0_.TinyIntColumn as INT)=@p1 我只是想知道如何摆脱这种行为,因为尽管查询仍然很烦人而且不必要,所以有人知道任何解决方案或者以前遇到过这种情况吗 谢谢。这似乎是LINQ提供程序中的一个错误 在下列查询中: session.

我在SQLServer2008R2数据库中有一个带有tinyint列的表,它映射到我的POCO中的字节属性

问题是,每当我使用NHibernate在tinyint列上运行带有where子句的查询时,它都会导致以下sql

and cast(table0_.TinyIntColumn as INT)=@p1 
我只是想知道如何摆脱这种行为,因为尽管查询仍然很烦人而且不必要,所以有人知道任何解决方案或者以前遇到过这种情况吗


谢谢。

这似乎是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)
session.CreateQuery(“来自Foo,其中TinyIntColumn=:b”).SetParameter(“b”,1)
session.QueryOver().Where(x=>x.TinyIntColumn==1)
session.Query().Where(x=>x.TinyIntColumn==1)
…只有最后一个会导致您所经历的行为


请在

上打开一个问题,可能您可以使用byte,或者我恐怕在SQL数据类型中没有选择,我尝试使用该文章中建议的列表,但结果是..(table0..TinyIntColumn in(@p1))