Я разрабатываю настольное приложение с использованием Linq to SQL. Из того, что я собрал, лучше сохранить объекты DataContext недолговечными, но я сталкиваюсь со следующей загадкой:
Мое приложение имеет много данных типа поиска, которые я хотел бы кэшировать на клиенте. Причина, по которой я хочу это кэшировать, заключается в том, что я не хочу искать соответствующую родительскую запись для каждой дочерней записи, которую нужно вставить, когда я выполняю большие операции типа ETL.
Когда я выполняю обновления базы данных, мне нужно связать свои обновленные записи с этими поисковыми данными. Теперь, с одним глобальным DataContext, это просто: я просто добавляю новые дочерние записи в коллекции отношений объектов поиска и нажимаю SubmitChanges ().
Но если я создаю новые DataContexts из тех, из которых я первоначально извлек данные, как я могу наилучшим образом управлять обновлением этих связанных данных? Я не могу использовать кэшированные данные с моим новым DataContext, потому что они пришли из другого.
Это все довольно запутанно - стоит ли мне сдаваться и изучать Entity Framework вместо этого?
Большое спасибо заранее.