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

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();
才会去数据库查询数据

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