首页 新闻 会员 周边

Func泛型委托的问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2010-02-02 13:54

今天弄一个Linq to Sql的问题,遇到了一个超级郁闷的事情~

我将一个Lambda表达式用Func的委托装起来查询出来的结果和直接的Lambda表达式的结果不一样。详细还是请看代码。

Func<tbl_SysUser,bool> xx = d=> d.FirstName.Contains("liu") && d.LastName.Contains("un");

var aa1 = contex.tbl_SysUser.Where(xx);

var aa2 = contex.tbl_Sysuser.Where(d=> d.FirstName.Contains("liu") && d.LastName.Contains("un"));

在我的数据表(tbl_SysUser)中存在一条记录为FirstName = "liu" ,LastName="yun" 的记录~

而这里查询出来的结果是

aa1 没有找到这个记录,

aa2 找到了这个记录。

请大家帮我分析分析,为什么会有这个问题出现。~小弟十分感激。

耘的主页 | 小虾三级 | 园豆:780
提问于:2010-01-27 14:17
< >
分享
所有回答(1)
0

看一下生成的SQL语句吧。

麦舒 | 园豆:452 (菜鸟二级) | 2010-01-27 15:38
aa1 和aa2 都不能生成SQL语句~· 应该这个时候的Where的参数不是Expression<Func<tbl_SysUser,bool>>类型的参数。
支持(0) 反对(0) | 园豆:780 (小虾三级) | 2010-01-28 11:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册