【发布时间】:2014-05-12 16:13:38
【问题描述】:
当使用 LINQ to entity 进行字符串比较时,将忽略空格。
在我的表中,我有一个 nchar(10) 列,因此如果不是 10 个字符,则保存的任何数据都将用空格填充其余数据。下面我将“ncharTextColumn”与"Four" 字符串进行比较。即使 ncharText 等于 "Four " 它也会导致匹配,并且“结果”变量将包含 1 条记录
TestEntities1 entity = new TestEntities1();
var result = entity.Table_1.Where(e => e.ncharText == "Four");
是否有对此的解释和解决方法,或者我是否必须在我的查询中调用 ToList,然后才能进行类似的比较。
var newList = result.ToList().Where(e => e.ncharText == "Four");
此代码现在正确返回 0 条记录,因为它考虑了空格。但是,在比较之前调用 list 可能会导致将大型集合加载到最终不会被使用的内存中。
【问题讨论】:
-
你不能只做
e.ncharText.Trim() == "Four"吗?
标签: c# entity-framework linq-to-entities