Tinyint为字节nhibernate

时间:2013-05-02 10:28:38

标签: c# sql-server linq nhibernate byte

我在SQL Server 2008 R2数据库中有一个带有tinyint列的表,该数据库映射到我的POCO中的byte属性。

问题是每当我使用NHibernate在tinyint列上使用where子句运行查询时,会产生以下sql ...

and cast(table0_.TinyIntColumn as INT)=@p1 

我只是想知道如何摆脱这种行为,因为虽然查询仍然可以解决它的烦人和不必要的问题,所以任何人都知道任何解决方案或者之前遇到过这个问题吗?

感谢。

1 个答案:

答案 0 :(得分: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/

处打开一个问题