2010-11-16 27 views
0

我有在頂部的菜單,每一個客戶名稱是一個菜單項顯示的客戶名單共享。 現在我想在另一個菜單中擁有相同的(同樣=我不想從數據庫重新加載數據庫)客戶。C#:獲取客戶的名單和兩種觀點

這兩個菜單都在2個不同的UserControl中。 在每個用戶控件中,您都可以在該客戶菜單上進行操作。 您將如何設計菜單/ UserControls/Presenter以僅從數據庫獲取customerList一次?

我正在使用winforms MVP模式。

回答

0

您可以在靜態列表加載CustomerList和共享該列表這有點緩存機制。

1

完整的答案排序取決於你如何從數據庫中獲取數據,然後返回給用戶控件。但是由於您使用的是「演示者」,我懷疑您參考了客戶列表。您需要做的就是將該引用傳遞給兩個用戶控件中的每一個,並且兩者都可以訪問完全相同的實例數據。

0

我不知道你連接到你的數據庫的方式。如果您只是使用數據源直接連接到它,我無法幫助您。

否則你可以做的就是把每請求緩存中的數據訪問層,因此所有控件都將來自該請求的時間相同的緩存吸引他們的數據。

有許多方式可以從數據庫緩存數據,這只是一個例子。

0

您可以同時連接到數據庫,並在本地存儲數據集中的數據/數據表,然後你可以通過周圍,只要你喜歡訪問它。