вставить 1000 записей, используя LINQ - PullRequest
0 голосов
/ 12 августа 2011
 for (int i = 0; i < 1000; i++)
 {
      PrivateMessage privateMessage = new PrivateMessage()
      {
          id=i
      };
      dc.PrivateMessages.InsertOnSubmit(privateMessage);
      dc.SubmitChanges(); 
 }

Этот метод подходит для вставки 1000 записей?

Есть лучшие способы сделать это?

Ответы [ 3 ]

3 голосов
/ 12 августа 2011

Да - наверное, лучше не делать ваши InsertOnSubmit в цикле.Попробуйте:

List<PrivateMessage> messages = new List<PrivateMessage>();

for (int i = 0; i < 1000; i++)
{
   messages.Add(new PrivateMessage() { id=i });
}

dc.PrivateMessages.InsertAllOnSubmit(messages);
dc.SubmitChanges();
1 голос
/ 12 августа 2011

Вот еще один:

Enumerable.Range(1, 1000).ToList().ForEach(x =>             
            dc.PrivateMessages.InsertOnSubmit(new PrivateMessage(){id=x}));
dc.SubmitChanges();
1 голос
/ 12 августа 2011

dc.SubmitChanges () вне цикла.

for (int i = 0; i < 1000; i++)
{
           PrivateMessage privateMessage = new PrivateMessage()
            {
                id=i
            };
            dc.PrivateMessages.InsertOnSubmit(privateMessage);
}
           dc.SubmitChanges(); 
...