У меня есть система, использующая автоматическое сопоставление Fluent NHibernate. У меня есть строковое свойство, сопоставленное с длиной 3.
mapping.Map(x => x.CCY1Code).Length(3);
Вот пример ограничения, которое я строю:
Restrictions.Like("CCY1Code", "USD", MatchMode.Anywhere);
Наблюдая за этим в SQL Server Profiler, похоже, что NHibernate параметризует SQL. Но при этом он ограничивается тремя символами. Но NHibernate также окружает мое значение "USD" знаками процента. То, что должно быть "% USD%", усекается до "% US". Вот некоторые фрагменты из SQL Server Profiler:
CCY1Code like @p9
@p9 nvarchar(3)
@p9=N'%US'
Кроме того, чтобы обойти это поле до пяти символов, есть ли другой способ решения этой проблемы?