Member 14169626 Ответов: 1

Как выражение lamdbda вызывает повторение записей в C#?




ID:  

1

2

3



InsertTable:  

first insert:  1  12  Flower  A

two insert  :  1  12  Flower  A
               2  12  Flower  A

third insert:  1  12  Flower  A
               2  12  Flower  A
               3  12  Flower  A

Result:
               1  12  Flower  A

               1  12  Flower  A

               2  12  Flower  A

               1  12  Flower  A

               2  12  Flower  A

               3  12  Flower  A

I want to Result :  1   12  Flower  A

                    2   12  Flower  A

                    3   12  Flower  A


Что я уже пробовал:

var query=MyStudentEntities.Student.OrderBy(x=>x.ID).Where(x=>x.ClassID="12").GroupBy(x=>x.ID).Distinct();


foreach(var item in query)
{
    students.Add(new TABLEA()
{
  ID=item.ID,
  ClassID=12,
  ClassName="Flower",
  ClassBranch="A"
});

MyStudentEntities.TABLEA.AddRange(students);
MyStudentEntities.SaveChanges();
}

ZurdoDev

Это будет закрыто очень быстро, если вы не зададите вопрос.

Member 14169626

почему я дважды проиграл в запросе, который я сделал ему, я хочу добавить как 1 2 3

ZurdoDev

Что это значит?

Maciej Los

Вы проверили, что возвращает приведенный ниже запрос?

var query=MyStudentEntities.Student.OrderBy(x=>x.ID).Where(x=>x.ClassID="12").GroupBy(x=>x.ID).Distinct();

Simon_Whale

Глядя на это, у меня возникает один вопрос. вставляете ли вы все эти строки каждый раз или просто пытаетесь добавить "новую строку" при каждом вызове?

Member 14169626

один за другим.
каждый раз, когда я добавляю его, он добавляет тот же самый, который я добавил

Maciej Los

Пожалуйста, используйте виджет "ответить" (справа от Ника/логина), чтобы сообщить пользователю о вашем ответе.

1 Ответов

Рейтинг:
2

Maciej Los

Попробуйте изменить свой код следующим образом:

var data=MyStudentEntities.Student
    .Where(x=>x.ClassID==12)
    .GroupBy(x=>x.ID)
    .Select(grp=>new TABLEA()
        {
          ID=grp.Key,
          ClassID=12,
          ClassName="Flower",
          ClassBranch="A"
        })
    .ToList();

MyStudentEntities.TABLEA.AddRange(data);
MyStudentEntities.SaveChanges();