Синхронизация datagridview (WinForms) с базой даных Microsoft SQL Server

Есть форма на которой размещен dataGridView, написан метод апгреда UpdateDataGridView(). Есть клас DB в котором методы подключения и отключения. Клас Menu в котором метод List GetRestaurants(), который возвращает лист, который нужно вывести в датагрид. Как вызывать метод UpdateDataGridView(), при любом именении в таблице в БД?

    internal class DB
    {
                static string ServerConnect = "Connect_Server";
                static SqlConnection msconnect;
                static public SqlCommand msCommand;
                static public SqlDependency dependency;
        
                static public bool ConnectionDB()
                {
                    try
                    {
                        msconnect = new SqlConnection(ServerConnect);
                        msconnect.Open();
                        msCommand = new SqlCommand();
                        msCommand.Connection = msconnect;
                        SqlDependency.Start(ServerConnect);
        
                        return true;
                    }
                    catch
                    {
                        return false;
                    }
                }
        
                static public void CloseDB()
                {
                    if (msconnect != null)
                    {
                        msconnect.Close();
                    }
                    SqlDependency.Stop(ServerConnect);
                }
}
        
        
        
        
public partial class MainForm : Form
{
            public MainForm()
            {
                InitializeComponent();
        
                DB.ConnectionDB();
            }
        
            private void MainForm_Load(object sender, EventArgs e)
            {
                UpdateDataGridView();
            }
        
            private void UpdateDataGridViewRestaurants()
            {
                    dataGridView1.Rows.Clear();
                    List<Restaurants> restaurants = Menu.GetRestaurants();
        
                    foreach (var item in restaurants)
                    {
                        /*тут вывод из листа в датагрид*/
        
                    }
}
    
public static class Menu
{
        public static List<Restaurant> GetRestaurants()
        {
            List<Restaurant> restaurants = new List<Restaurant>();
    
            DB.ConnectionDB();
    
            try
            {
                string query = "SELECT id_restaurant, Name, Address, FoodType FROM dbo.restaurant WHERE RestaurantStatus = 'активний'";
                DB.msCommand.Parameters.Clear();
                DB.msCommand.CommandText = query;
    
                using (var reader = DB.msCommand.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        int id = Convert.ToInt32(reader["id_restaurant"]);
                        string name = reader["Name"].ToString();
                        string address = reader["Address"].ToString();
                        string foodType = reader["FoodType"].ToString();
    
                        Restaurant restaurant = new Restaurant(id, name, address, foodType, "активний");
                        restaurants.Add(restaurant);
                    }
                }
            }
            catch
            {
                return null;
            }
    
            return restaurants;
        }
}

Ответы (0 шт):