Должен ли я создать несколько контекстов классов LINQ to SQL в моих проектах - PullRequest
1 голос
/ 10 марта 2010

Это вопрос разработки, я заметил, что со временем LINQ-to-SQL Context заполняется всеми таблицами базы данных, поэтому сегодня я хотел создать новый контекст для новых таблиц, которые я недавно добавил. Таблицы составляют единицу логики сами по себе, и они логически отделены от других таблиц, за исключением 2 таблиц. Я планирую дублировать эти буксирные таблицы и снова поместить их в новый контекст.

У меня вопрос: действителен ли мой дизайн, с какими проблемами я столкнусь, которые сейчас не рассматриваю?

1 Ответ

0 голосов
/ 10 марта 2010

Вы, конечно, можете это сделать, но убедитесь, что вы не разделяете таблицы между двумя контекстами. То, что вам нужно остерегаться, - это ситуации, когда вам нужны оба экземпляра DataContext. Другими словами, если вы добавляете или редактируете в двух контекстах одновременно, вы должны помнить, чтобы сохранить изменения в обоих. Если строки разделены между двумя контекстами, вы можете потерять изменения.

Также помните, что вам вообще не нужно использовать контекст конструктора LINQ to SQL. Вы всегда можете сделать

DataContext context = new DataContext();
Table<SomeL2SClass> table = context.GetTable<SomeL2SClass>();
...