Entity Framework Newbie - Сохранить в БД - PullRequest
0 голосов
/ 02 марта 2012

у меня 3 объединенных стола; ValidationRun имеет много Результат , у которого много Ошибка

Следующий код успешно сохраняется в таблицах Result и Error, но не в ValidationRun.

Можете ли вы увидеть проблему, пожалуйста?

 private void WriteResultsToDB(SqlDataReader dr, XMLValidator validator)    
        {    
            using (var context = new ValidationResultsEntities())    
            {    
            var run = new ValidationRun { DateTime = DateTime.Now, XSDPath = this.txtXsd.Text };    

            //loop through table containing the processed XML    
            while (dr.Read())    
            {    
                var result = new Result    
                {    
                    AddedDateTime = (DateTime)dr["Added"],    
                    CustomerAcc = (string)dr["CustomerAcc"],    
                    CustomerRef = (string)dr["CustomerRef"]    
                };    

                if (this.rdoRequest.Checked)    
                {    
                    result.XMLMsg = (string)dr["RequestMSG"];    
                }    
                else    
                {    
                    result.XMLMsg = (string)dr["ReplyMSG"];    
                }    

                if (validator.Validate(result.XMLMsg))    
                {    
                    foreach (string error in validator.Errors)    
                    {    
                        result.Errors.Add(new Error { ErrorDescription = error });    
                    }    
                }    
                else    
                {    
                    //validator caught an error    
                    result.Errors.Add(new Error { ErrorDescription = "XML could not be parsed" });    
                }    

                if (result.Errors.Count == 0) result.ValidFile = true; else result.ValidFile = false;    

                context.AddToResults(result);    
                context.SaveChanges();    
            }    
        }

1 Ответ

1 голос
/ 02 марта 2012

Вы не добавляете прогон в какую-либо часть контекста. Если бы на него ссылался результат, который вы добавляете, возможно, трекер изменений знал бы, что он должен быть сохранен, но на момент написания статьи это просто какой-то осиротевший объект, который никуда не присоединяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...