EntityFramework 6.0 使用linq 查询 过滤条件无数据的问题解决办法及遇到的坑

最近使用ef查询的时候遇到使用表达式树或者linq 查询语句查询过滤条件 信息无结果的情况下面是实际查询的结果

   Expression<Func<V_ProductOut, bool>> where = t => true; (表达式树尝试无效!)

结合上图可以看出查询数字的时候或者用字母查询是有数据的但是中文汉字不挂怎么样无数据显示,解决办法

转为 IEnumberable<T>() 再使用where 条件过滤 这样也是可以的但是数据库相当于访问了效率并没有Iqueryable<T>()效率高

第一种方法 (不推荐):

第二种方法:怀疑数据库编码集的问题,改为一下方式依旧查询不出来

 

 

最后查找出原因必须把数据库连接字符串编码格式 添加上Chartyset=utf-8;修改Web.Config 连接字符串添加如下

此时再用linq to sql 查询中文结果OK!