我有char(4)類型的代碼人表中的列。如何在linq中將參數類型設置爲nhibernate查詢char(*)類型?
人表:
人HBM是:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain.Model">
<class name="Person" table="Person">
<property name="Code" >
<column name="Code" **sql-type="char(4)"**/>
</property>
...
</class>
</hibernate-mapping>
現在我有一個LINQ NHibernate的查詢:在SQL
SessionInstance.Query<Person>()
.Where(x => x.Code == "1234")
.Select(x => x.Code)
.ToList();
但跟蹤查詢分析器不是預期的。
exec sp_executesql N'select person_.Code as col_0_0_ from Person person_ where [email protected]',N'@p0 nvarchar(4000)',@p0=N'1234'
因爲@p0
類型不是char(4)
和@p0
值N'1234'
,而不是'1234'
是什麼原因?