Если все элементы управления, которые используют данные, являются дочерними элементами общего родительского элемента управления, вы можете просто передать текст данных, чтобы они все использовали один и тот же текст данных.
Однако в общем случае использования баз данных, который в большинстве случаев поддерживает EF, является чтение данных каждый раз, когда они необходимы.
Решение этой проблемы, если, как вы говорите, у вас уже есть элемент, используемый в одной форме, это просто добавить ссылку на этот элемент в вашу новую форму.
Таким образом, в случае, когда у вас есть счет-фактура со списком продуктов, и вы хотите добавить его в список продуктов, вы можете передать список продуктов из счета-фактуры в начальный список продуктов.
Есть некоторые проблемы с этим:
- Если другой пользователь изменяет источник данных, когда он открыт (a.k.a. Параллелизм)
- Обработка сохранения не сохраняет сценарии, в которых они могли внести изменения в одну область, которую они на самом деле не хотят добавлять в данные.
Тем не менее, если это не связано с проблемами с производительностью, я просто загружаю данные каждый раз. Вы можете значительно упростить это, используя шаблон хранилища, так что вы можете просто вызвать один метод, чтобы получить список продуктов или счет-фактуру, или любую часть данных, которая вам нужна.