日期:2014-05-20  浏览次数:20868 次

EF join + 动态条件
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();

怎么解决好 谢谢!

------解决方案--------------------
是么?不是在Count()才查的? LazyLoad 属性打开了?
------解决方案--------------------
理论上直到代码执行到
count = query.Count();
才会去数据库查询数据

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