繁体   English   中英

在C#实体框架中查询Where子句和foreach的区别

[英]Difference in Where clause and foreach look up in C# entity framework

我有一段代码:

var component = (from components in dataContext.Component select components)
                    .Where(x => x.Name.ToString().Equals(componentCode));

其中Component是非常简单的对象

在mysql数据库表中(以utf8编码-utf8_unicode_ci)

我有以下记录: szkło3mm (带有波兰语ł )。

当我尝试使用上面的代码查找此记录时,我什么也没得到。

没有波兰语字符的记录效果很好,但是当我用foreach进行操作时,得到的结果是:

var component = (from components in dataContext.Component select components);
foreach(Component comp in component)
{
    if (comp.Name.ToString().Equals(componentCode))
        componentPrice = (decimal)comp.Price;
}

有没有一种方法可以仅使用linq代码获得结果,而无需遍历表。

好的,我找到了解决方案-在连接字符串中添加了“ Charset = utf8”,它可以正常工作。 在主题中找到的解决方案: 实体框架C#插入数据俄语编码问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM