Witam
Stworzyłem baze danych, która zawiera 7000 rekordów, napisałem również procedurę do wyświetlenia wszystkich użytkowników. Czas na zadanie aplikacji. Bazuje ona na MVC. Pomijam fakt, że trochę trzeba poczekać ( kilka sekund - 8 może do 12 - nieistotne ) nim się uruchomi, jest to efektem tegoż zabiegu:
public partial class View : Form, Controller.IControllerMain
{
Controller.MainController _controller;
home home = new home();
userControlClients clients = new userControlClients();
#region Constructor
public View()
{
InitializeComponent();
this.Content.Controls.Add(home);
}
#endregion
......
Na starcie tworzę instancję UserControl-ki (home) no i tą, z którą trzeba coś zrobić, czyli userControlClients, jej konstruktor to:
public userControlClients()
{
InitializeComponent();
this._controller = new ClientsController(this);
_controller.LoadView();
}
metoda w kontrolerze, która odpowiada za pobranie danych do wyświetlenia ma się tak:
public void LoadView()
{
var con = Database.Open();
List<Clients> clients = con.ShowAllClients();
foreach (Clients client in clients)
{
_clientsView.ShowAllClients(client);
}
}
To właśnie ona pobiera z bazy wszystkich klientów i przekazuje do widoku. Czy to, że aplikacja uruchamia się kilka sekund przy 5000 rekordów to normalne? Wydaje mi się, że można coś zrobić z takim czymś, można niby początkowo pobierać z bazy
TOP 1000
, lecz nie wiem jak to ma się do sztuki programowania i ogólnych dobrych zwyczajów. Jak wy sobie z tym radzicie?
Pozdrawiam
Edit:
Poradziłem sobie, jak to powiedziałem "o jeden foreach za daleko" :)