public void Load() { using (var connection = new MySqlConnection(Settings.Default.ConnectionString)) { connection.Open(); //Load Messages var query = "SELECT Id, Chatroom_id, Employee_Id, Date, Message " + "FROM ChatMessage " + "WHERE Chatroom_Id = @chatroom"; MySqlCommand cmd = new MySqlCommand(query, connection); cmd.Parameters.Add(new MySqlParameter("@chatroom", MySqlDbType.Int32)); cmd.Prepare(); cmd.Parameters["@chatroom"].Value = Id; MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { if (!reader.IsDBNull(0)) { var message = new ChatMessageModel(reader.GetInt32("Id"), EmployeeModel.Load(reader.GetInt32("Employee_Id")), reader.GetString("Message"), reader.GetDateTime("Date")); if (!Messages.Contains(message)) { Messages.Add(message); } } } reader.Close(); //Load Members cmd.CommandText = "SELECT Employee.Id as Id " + "FROM ChatMember " + "INNER JOIN Employee " + "ON Employee.Id = ChatMember.Employee_Id " + "WHERE Chatroom_id = @chatroom"; cmd.Prepare(); reader = cmd.ExecuteReader(); while (reader.Read()) { if (!reader.IsDBNull(0)) { var employee = EmployeeModel.Load(reader.GetInt32("Id")); if (!Members.Contains(employee)) { Members.Add(employee); } } } reader.Close(); //Load Topic cmd.CommandText = "SELECT Topic " + "FROM ChatRoom " + "WHERE Id = @chatroom"; cmd.Prepare(); reader = cmd.ExecuteReader(); if (reader.Read()) { Topic = reader.GetString("Topic"); } } }