在比较Linq实体和​​SQL中的字符串时遇到问题

时间:2019-06-12 06:30:01

标签: c# entity-framework linq

我对Linq和EF很陌生。

字符串比较不正确吗?

我已经尝试过String.EqualsCompareTo,但是那些返回boolean的值,我读到Linq时,比较String == string就像一个{{ 1}}。

WHERE statement

list应该返回一堆值,其中来自数据库的PartNumber列等于参数partNumber。当我使用int比较进行搜索时,确实会在int列中找到匹配项,但在varchar列中却找不到。控制器始终返回空且计数为0。

1 个答案:

答案 0 :(得分:0)

是不匹配的情况吗?仅当您要忽略大小写时,才尝试以下操作:

public IHttpActionResult GetMultifiberResult(string partNumber)
{
    var list = db.MultifiberResults.Where(s => s.PartNumber.Equals(partNumber, StringComparison.OrdinalIgnoreCase)).ToList();

    return Ok(list);
}

否则,您的代码就可以了。您需要对其进行调试并向我们显示结果,并确保数据库或参数值中没有前导或尾随空格。在这种情况下,您应该同时.Trim()