Dav*_*Dev 2 c# nhibernate trim
我有以下方法:
var catIds = DetachedCriteria.For<Category>()
.Add<Category>(c => c.TypeCode == "IMA")
.SetProjection(LambdaProjection.Property<Category>(s => s.Id));
Run Code Online (Sandbox Code Playgroud)
这没有返回任何内容,因为在数据库中该字段是nchar(10).我想要Trim()TypeCode值,如下所示:
var catIds = DetachedCriteria.For<Category>()
.Add<Category>(c => c.TypeCode.Trim() == "IMA")
.SetProjection(LambdaProjection.Property<Category>(s => s.Id));
Run Code Online (Sandbox Code Playgroud)
但它返回NHibernate错误:
Unrecognised method call in epression c.TypeCode.Trim()
Run Code Online (Sandbox Code Playgroud)
办公室里的其中一个人认为这是因为HHibernate不知道如何转换.Trim()为SQL(或者那些沿着这些方向的东西).任何人都可以建议我如何解决这个问题?
尝试右键填充您要与所需长度进行比较的值,例如:
string cmpValue = "IMA".PadRight(10);
var catIds = DetachedCriteria.For<Category>()
.Add<Category>(c => c.TypeCode == cmpValue)
.SetProjection(LambdaProjection.Property<Category>(s => s.Id));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |