EF join + 动态条件

moonwrite 2012-07-17 12:33:54
EntityFramwork join + 动态条件
SchoolEntities db = new SchoolEntities();

var query = from u in db.UserBaseInfo
join m in db.Membership on u.UserId equals m.UserId
select new { UserName = u.Username, m.RealName };//使用sql server profiler 这里就已经查了数据库了~ 所以数据太多的说

if (!string.IsNullOrWhiteSpace(entName))
{
query.Where(x => x.RealName.Contains(entName));
}

count = query.Count();

怎么解决好 谢谢!
...全文
544 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2012-07-17
  • 打赏
  • 举报
回复
是么?不是在Count()才查的? LazyLoad 属性打开了?
q107770540 2012-07-17
  • 打赏
  • 举报
回复
呵呵。。哥当年也犯过这样的错误
moonwrite 2012-07-17
  • 打赏
  • 举报
回复
if (!string.IsNullOrWhiteSpace(entName))
{
query = query.Where(x => x.RealName.Contains(entName));
}

忘记赋值了 -_-!
机器人 2012-07-17
  • 打赏
  • 举报
回复
entName 为空? 单步过了么?
moonwrite 2012-07-17
  • 打赏
  • 举报
回复
if (!string.IsNullOrWhiteSpace(entName))
{
query.Where(x => x.RealName.Contains(entName));
}

这个条件没有出现在sql中啊~!!

悲剧
moonwrite 2012-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

是么?不是在Count()才查的? LazyLoad 属性打开了?
[/Quote]

用了你说的使用POCO类 我是使用WCF support的生成模版的
午睡过后 发现一切都正常了 很灵异啊

谢谢楼上2位
q107770540 2012-07-17
  • 打赏
  • 举报
回复
理论上直到代码执行到
count = query.Count();
才会去数据库查询数据

因为之前没有出现非延迟查询操作符,依据延迟查询特性,不会去数据库查询数据

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧