如何通过字符串属性的长度限制查询?例如。就像是:
NHSession.QueryOver<Customer>()
.Where(p => p.RegistryCode.Length == 8)
如何通过字符串属性的长度限制查询?例如。就像是:
NHSession.QueryOver<Customer>()
.Where(p => p.RegistryCode.Length == 8)
这样的事情可能会奏效
NHSession.QueryOver<Customer>()
.Where(
Restrictions.Eq(
Projections.SqlFunction("length", NHibernateUtil.String,
Projections.Property<Customer>(x => x.RegistryCode)),
8
)
)
我应该使用这种“NHibernateUtil.Int16”类型而不是“NHibernateUtil.String”,因为“长度”参数应该始终是数字而不是字符串。
像这样的东西:
NHSession.QueryOver<Customer>()
.Where(
Restrictions.Eq(
Projections.SqlFunction("length", NHibernateUtil.Int16,
Projections.Property<Customer>(x => x.RegistryCode)),
8
)
)