LINQ to SQL объект глубокого копирования с зависимостями - PullRequest
0 голосов
/ 20 мая 2009

Я пытаюсь создать список объектов LINQ to SQL, которые я добавлю к текстовому тексту и вставлю позже. Когда я вызываю метод SubmitChanges (), я получаю сообщение о том, что внешний ключ Postcode для объекта WeatherForecast имеет значение null.

Похоже, что когда вызывается List.Add (), он не делает глубокую копию зависимых объектов. Есть ли способ заставить его сделать глубокую копию?

Это пример того, что я пытаюсь сделать.

function List<WeatherForecast> CreateForecast(Postcode postcode) 
{ 
   var forecasts = List<WeatherForecast>();

   var wf = new WeatherForecast() 
   { 
      ForecastDate = DateTime.Today
      , CurrentTemperature = (decimal)today.Attribute(XName.Get("temperature"))
   };
   wf.Postcode = postcode;

   forecasts.Add(wf); 

   ...
   Keep adding forecast objects into the list
   ...

   return forecasts;
}

1 Ответ

0 голосов
/ 22 мая 2009

List.Add вообще не копирует. Предполагая, что WeatherForecast является ссылочным типом, вы просто сохраняете ссылку на только что созданный WeatherForecast.

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

...