Linq自动修剪我的弦!

Ger*_*ard 4 c# linq asp.net

我有这个基本的linq查询,我想从数据库中获取一个城市.问题是我的搜索字符串被修剪而没有我要求它.我尽可能地简化了它.例:

var firstCity = 
    from city in db.Cities
    where city.City_Code == "LAS "
    select city;
Run Code Online (Sandbox Code Playgroud)

city.City_Code是"LAS"而不是"LAS",它仍然以City_Code"LAS"获得城市.

我该如何解决这个问题?我也试过Equals,但结果是一样的.

Guf*_*ffa 7

这不是LINQ的问题.这是数据库比较字符串的方式.

如果字符串不具有相同的长度,较短的字符串用空格填充他们相比时,这样的字符串"LAS""LAS "被认为是相等的.

请参阅:http://support.microsoft.com/kb/316626

你可以通过在字符串中添加另一个字符来解决这个问题:

where city.City_Code + "." == "LAS ."
Run Code Online (Sandbox Code Playgroud)