Обновить таблицу с помощью LINQ - PullRequest
0 голосов
/ 12 июля 2011

Может кто-нибудь сказать мне, почему следующий код не обновляет идентификаторы StudentID в LINQPad?

var studentsList = Students.Select(t => t);

int newStudentID = 10001;
foreach(Student s in studentsList)
{      
   s.StudentID = newStudentID;            
   newStudentID = newStudentID + 1;   
}

SubmitChanges();

Спасибо!

1 Ответ

0 голосов
/ 12 июля 2011

не уверен;я пытался написать код, чтобы проверить это, используя фрагмент, который вы дали, но он скомпилируется под LinqPad;вот что я использовал:

public class Student
{
    public string name; 
    public int StudentId; 
}

void Main()
{
    Student[] Students = 
    new Student[] 
        { 
            new Student { name="a", StudentId = 0}, 
            new Student { name="b", StudentId = 0}, 
            new Student { name="c", StudentId = 0}, 
            new Student { name="d", StudentId = 0}
        };

    var studentsList = Students.Select(t => t);

    int newStudentID = 10001;
    foreach(var s in studentsList)
    {      
       s.StudentId = newStudentID;            
       newStudentID = newStudentID + 1;   
    }

    foreach(var s in studentsList)
    {      
       System.Console.WriteLine(s.name + ": " + s.StudentId.ToString());
    }
}

и вот что получилось:

a: 10001
b: 10002
c: 10003
d: 10004

, так что, похоже, все работает нормально.если вы можете дать достаточно контекста, чтобы иметь работающий пример вашего кода, я был бы рад проверить его дальше.

...