none
Entity Framework и загрузка данных в БД RRS feed

  • Вопрос

  • Здравствуйте! У меня такой вопрос: пробую считать данные в потоке и занести их в бд SQL CE 4.0 с применением Entity Framework Code First. 

    using (ProtocolContext context = new ProtocolContext())
                {
                    using (StreamReader readLT = new StreamReader(filePath, Encoding.GetEncoding(1251)))
                    {
                        Execute execute = new Execute();
    
    
                        string line = readLT.ReadToEnd();
                        string[] sarr = line.Split('\t');
    
                        for (int i = 3; i <= sarr.Length - 3; i += 3)
                        {
                            execute.Time = sarr[i];
                            execute.Message = sarr[i + 1];
                            execute.Message_Changed = sarr[i + 2];
                            context.Executes.Add(execute);
                            
                        }
                        context.SaveChanges();
                        
                    }
                }

    Почему-то у меня сохраняет только последнюю строчку. Если делать так :

    for (int i = 3; i <= sarr.Length - 3; i += 3)
                        {
                            execute.Time = sarr[i];
                            execute.Message = sarr[i + 1];
                            execute.Message_Changed = sarr[i + 2];
                            context.Executes.Add(execute);
                            context.SaveChanges();
                        }
                        

    , то заносит всё, но скорость внесения данных, конечно снижается. Есть ли альтернатива?


    22 апреля 2015 г. 18:12

Ответы