首页 新闻 会员 周边 捐助

求解,使用EF碰到的诡异问题

0
悬赏园豆:30 [待解决问题]

请看下如下代码:

  var entities = new DbEntities();

  var model = entities.hw_data_carrierinfo.FirstOrDefault(c => c.CAI_Name == "广东电信");

代码意图就是在数据库里找名字叫"广东电信"的记录.诡异的是数据库里明明有代码却找不到.求解.

数据库:MySql

表类型:InnoDB

字符集: utf8

监视FE生成的sql:

SELECT Extent1.CAI_Id, Extent1.CAI_Name, Extent1.CAI_Remark

FROM hw_data_carrierinfo AS Extent1

WHERE @gp1 = Extent1.CAI_Name

paseo的主页 paseo | 菜鸟二级 | 园豆:262
提问于:2013-03-25 16:30
< >
分享
所有回答(5)
0

有空格?

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-03-25 16:54
0

监视生成的sql语句 就知道了 。

Qlin | 园豆:2403 (老鸟四级) | 2013-03-25 16:55

生成的语句:

SELECT Extent1.CAI_Id, Extent1.CAI_Name, Extent1.CAI_Remark

FROM hw_data_carrierinfo AS Extent1

WHERE @gp1 = Extent1.CAI_Name

我的"广东电信"在哪里?

支持(0) 反对(0) paseo | 园豆:262 (菜鸟二级) | 2013-03-25 17:24
0

1.你把数据库中的数据复制出来把 "广东电信" 中的广东电信覆盖掉看看,

2.把var model = entities.hw_data_carrierinfo.FirstOrDefault(c => c.CAI_Name == "广东电信");改为:var model = entities.hw_data_carrierinfo.Where(c => c.CAI_Name == "广东电信").FirstOrDefault();

jingjunfeng | 园豆:873 (小虾三级) | 2013-03-25 17:55
0

别连错数据库了,有没有可能是Test和Dev 的数据库连错了?亲.我干过这样的活

平常心队长 | 园豆:1113 (小虾三级) | 2013-04-10 16:26
0

数据库中 CAI_Name 字段是 nvarchar 还是 nchar ? 如果是定长的,可能会有空格,这样试试

var model = entities.hw_data_carrierinfo.FirstOrDefault(c => c.CAI_Name.Trim() == "广东电信");

settan | 园豆:154 (初学一级) | 2014-03-26 11:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册