I have the next mapping, where I specify the length of some string fields:
public ResolutionMap()
{
Schema("dbo");
Table("Resolution");
Id(x => x.IdResolution, "resolution_id").UnsavedValue(0).GeneratedBy.Identity();
Component(x => x.Store, m =>
{
m.Map(y => y.StoreCodeId, "store_code_id");
m.Map(y => y.StoreCode, "store_code").Length(10);
}
);
Map(x => x.ResolutionData, "resolution_data").Length(42);
}
However, when I watch the update query executed at the SQL Server Profiler, I see that the length set on the mapping is not respected at all on the parameter declaration:
exec sp_executesql
N'UPDATE dbo.Resolution SET resolution_data = @p0, store_code_id = @p1, store_code = @p2 WHERE resolution_id = @p3',
N'@p0 nvarchar(4000),@p1 int,@p2 nvarchar(4000),@p3 int',
@p0=N'Test',@p1=89,@p2=N'ST000003',@p3=275
Why could this be happening? I need to set the length because this slows the update process.
I am currently using Fluent NHibernate 1.3.0.733 and NHibernate 3.3.1 over .NET Framework 3.5.