【发布时间】:2014-01-07 23:06:02
【问题描述】:
我需要从字符串中删除前导零。我正在尝试在 linq to entity 查询中使用TrimStart('0'),但它不受支持。我找到了this related question,但该解决方案对我不起作用,它说也不支持该功能。有什么建议?谢谢!
更新:使用 Sql Server,这就是我使用它的方式...
Where(c => c.StringToGet.Substring(SqlFunctions.PatIndex("%[^0]%", c.StringToGet).Value - 1) == stringToCompare)
错误... LINQ to Entities 无法识别方法 'System.Nullable`1[System.Int32] PatIndex(System.String, System.String)' 方法,并且此方法无法转换为存储表达式。
【问题讨论】:
-
你使用什么数据库?如果您使用
SqlFunctions.PatIndex和如何您如何使用它,确切的错误是什么? -
好吧,如果你必须这样做,客户端用前导零获取它们,然后在本地修剪它们。如果您将它们拉到一个类中,另一个选择是简单地向它添加一个 trimleadingzeros 方法。
标签: c# entity-framework linq-to-entities