В моих предыдущих приложениях, когда я использовал linq-to-sql, я всегда использовал один класс для ввода своего кода linq-to-sql, поэтому у меня был бы только один DataContext
.
Мой текущийхотя приложение становится слишком большим, и я начал разделять свой код на несколько классов (один для клиента, один для местоположения, один для поставщика ...), и все они имеют свой собственный DataContext DatabaseDesignDataContext dc = new DatabaseDesignDataContext();
Теперь, когдаЯ пытаюсь сохранить контакт с местоположением (которое я получил из другого DataContext), я получаю следующую ошибку:
"Была предпринята попытка присоединить или добавить объект, который не является новым,возможно, он был загружен из другого DataContext. Это не поддерживается. "
Я предполагаю, что это потому, что я создаю DataContext
для каждого класса, но я не знаю, как это по-другому?
Я ищу любые идеи, спасибо.
Мои занятия выглядят следующим образом:
public class LocatieManagement
{
private static DatabaseDesignDataContext dc = new DatabaseDesignDataContext();
public static void addLocatie(locatie nieuweLocatie)
{
dc.locaties.InsertOnSubmit(nieuweLocatie);
dc.SubmitChanges();
}
public static IEnumerable<locatie> getLocaties()
{
var query = (from l in dc.locaties
select l);
IEnumerable<locatie> locaties = query;
return locaties;
}
public static locatie getLocatie(int locatie_id)
{
var query = (from l in dc.locaties
where l.locatie_id == locatie_id
select l).Single();
locatie locatie = query;
return locatie;
}
}