0

私は初心者のインターンです。これを徹底的に調査し、さまざまなことを試したことを約束します。次のlinqクエリは機能しますが、行を姓と名でグループ化し、複数回表示される行のみを表示したいと考えています。group by ステートメントのコメントを外すと、以下のすべてのエイリアスが認識されなくなり、それらを実際の db.table 名に変更しても役に立ちません。

 var query = from emps in db.Employees

              join c in db.Cards on emps.SbiID equals c.SbiID

              where c.StateID == 0 && c.CardNumberNumeric > 100000

             //group emps by new {emps.Surname, emps.Name}; 

             //orderby grp.Count()  // something like 'where grp.Count > 1

              select new 
              { 

                  Surname = emps.Surname,
                  Name = emps.Name,
                  CorpID = emps.Identifier,
                  CardNum = c.CardNumber,
                  CostCenter = emps.EmployeeUserField.UF13,
                  Supervisor = (from e in db.Employees
                               where                                                  
                               e.Identifier.Equals(emps.EmployeeUserField.UF5)
                               select e.Surname).FirstOrDefault()
                               + ", "
                               + (from e in db.Employees
                                  where e.Identifier.Equals(emps.EmployeeUserField.UF5)
                                  select e.Name).FirstOrDefault(),

                 SupervisorID = emps.EmployeeUserField.UF5,
                 EmpCommence = emps.CommencementDateTime,
                 CardCommence = c.CommencementDateTime,
                 WorkPhone = emps.Telephone,
                 State = (from cf in db.ComboFields
                          from sp in db.StringProperties
                          where cf.ComboIndex.Equals(c.StateID)
                          && cf.StringID.Equals(sp.StringID)
                          && cf.TableName.Equals("Card")
                          && cf.FieldName.Equals("StateID")

                         select sp.DefaultValue).FirstOrDefault()                                       

             };          

 this.tagsGridView.DataSource = query;
 this.tagsGridView.DataBind();
4

1 に答える 1