代码之家  ›  专栏  ›  技术社区  ›  krishna

.net linq到实体“不在”的单个查询

  •  1
  • krishna  · 技术社区  · 17 年前

    var classUsers = from cu in myEntities.ClassUsers
                             where cu.Class.ClassId == classId
                             select new
                             {
                                 FirstName = cu.UserInfo.FirstName,
                                 Id = cu.UserInfo.Id,
                                 LastName = cu.UserInfo.LastName,
                                 Select = new Boolean()
                             };
    
            var allUsers = from u in myEntities.UserInfo
                           select new
                           {
                               FirstName = u.FirstName,
                               Id = u.Id,
                               LastName = u.LastName,
                               Select = new Boolean()
                           };
    
            var availableUsers = allUsers.Except(classUsers).OrderBy(a=>a.FirstName);
    

    1 回复  |  直到 17 年前
        1
  •  0
  •   Ali Ersöz    17 年前

    我没有测试它,但这可能是一个轻量级的解决方案。

    myEntities.UserInfo.Except(myEntities.ClassUsers.Where(cu=> cu.Class.ClassID = classID)
    .Select(cu=>cu.UserInfo)).Select(u=>Id = u.Id, FirstName = u.FirstName, LastName =   
                                     u.LastName, Select = new Boolean())
    
    推荐文章