Я пытаюсь понять вывод NHibernate SQL для этой сущности:
public class Person
{
public virtual long Id { get; set; }
public virtual long Number { get; set; }
}
Когда я пишу:
var maxNumber = s.Query<Person>().Max(p => p.Number);
Сгенерированный SQL выглядит следующим образом:
select cast(max(person0_.Number) as BIGINT) as col_0_0_ from Person person0_
Зачем нужен приведение, если столбец Number
равен bigint
? 1013 *
Я использую NHibernate 3.2, SQL Server 2008 R2, сопоставление определено следующим образом:
<class name="NhMappingTest.Person, NhMappingTest">
<id name="Id"><generator class="increment" /></id>
<property name="Number" />
</class>