protected void WritePeople()
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        var list = from m in dc.aspnet_Membership
                   join ar in dc.aspnet_UsersInRoles
                   on m.UserId equals ar.UserId into mmrr
                   from mr in mmrr.DefaultIfEmpty()
                   select new { m, ar };    }一个简单的函数。竟然说
编译器错误消息: CS0103: 当前上下文中不存在名称“ar”
会是什么问题?
我看别人都是这样写的

解决方案 »

  1.   

    from mr in mmrr.DefaultIfEmpty()这是什么?
      

  2.   

    这是测试时候写的别名。。
    on m.UserId equals ar.UserId into mmrr
    现在知道 是这样
        protected void WritePeople()
        {
            DataClassesDataContext dc = new DataClassesDataContext();
            var list = from m in dc.aspnet_Membership
                       join ar in dc.aspnet_UsersInRoles
                       on m.UserId equals ar.UserId into mmrr
                       from mr in mmrr.DefaultIfEmpty()
                       select new { m, mr };
            list = list.Where(p => p.mr.RoleId == null||(p.mr.RoleId!=null && p.mr.Expire<DateTime.Now));
        }
      

  3.   

    var joinquery = from o in OrderTable.Select() 
    join c in CustomerTable.Select() on o.CustomerID equals c.CustomerID into x 
    from xx in x.DefaultIfEmpty( 
    new Customer() { ID = "" }) 
    join e in EmployeeTable.Select() on o.EmployeeID equals e.EmployeeID into y 
    from yy in y.DefaultIfEmpty( 
    new Employee() { ID = -1 }) 
    select new 

          OrderInfo = o
    };