Ich habe eine Spalte für Code in Person Tabelle von Char (4) Typ.Wie den Typ des Parameters in Linq zu Nhibernate Abfrage für Char (*) Typ festlegen?
Tabelle Person ist:
Person Hbm ist:
<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>
Jetzt habe ich eine Linq zu nhibernate Abfrage haben:
SessionInstance.Query<Person>()
.Where(x => x.Code == "1234")
.Select(x => x.Code)
.ToList();
Aber Spur von Abfrage in SQL Profiler wird nicht erwartet.
exec sp_executesql N'select person_.Code as col_0_0_ from Person person_ where [email protected]',N'@p0 nvarchar(4000)',@p0=N'1234'
Da Art von @p0
nicht char(4)
ist und den Wert der @p0
ist N'1234'
statt '1234'
und Leistung dieser Abfrage ist niedriger:
Was die Ursache ist?