LINQ和字符串比较

LINQ和字符串比较,linq,Linq,我有一个SQL表,它有一个名为“Culture”的列。它包括诸如‘en’、‘en GB’、‘de de’等值。我正在使用LINQ查询SQL表。当我尝试将“en GB”与区域性字段中的值进行比较时-“en”如下所示- bool recordExists = context.Table.Any(x => x.ItemID.Equals(item.ID.ToString()) && x.Culture.Equals(item.Langua

我有一个SQL表,它有一个名为“Culture”的列。它包括诸如‘en’、‘en GB’、‘de de’等值。我正在使用LINQ查询SQL表。当我尝试将“en GB”与区域性字段中的值进行比较时-“en”如下所示-

bool recordExists = context.Table.Any(x => x.ItemID.Equals(item.ID.ToString()) 
                    && x.Culture.Equals(item.Language.Name));
x.ItemID的值为'en',item.ID.ToString()的值为'en GB'。但在equals()上,比较返回true。“en GB”中的连字符是否导致问题


谢谢

你确定这真的发生了吗?你怎么知道x.ItemID有“en”?我在调试器中检查了值。你能看看生成的SQL吗?用普通字符串删除等于比较检查。。。