BLL, DAL, OBJ и 3-х уровневая архитектура

Мой вопрос о трехслойной архитектуре.

Мой проект вкратце похож на приведенный ниже, однако, что меня раздражает, когда я вставляю новый столбец в свою базу данных, я должен обновить все эти поля, кроме BLL. На уровне представления я создал OBJ, а также внутри DAL, плюс внутри DAL есть SQL-запрос. Я должен обновить все эти поля вручную.

Если я сделаю этонормальный' Кстати, я помещаю все это в слой представления и обновляю все в одном месте.

Правильно ли я применяю эту трехуровневую архитектуру и каковы преимущества использования этой многоуровневой архитектуры?

Мой второй вопрос:

Внутри DAL я собираю данные через _view. Что мне интересно, я должен написать еще один BOboj для каждого представления? У меня уже есть класс BOboj, но он нет содержит все поля.

При вставке данных я должен использовать мой BOboj, однако при перечислении данных я использую представления, в этом случае я должен создать другой класс BOboj_view для каждого представления или что-то еще ?? что такое легкий способ сделать это?

например; У меня есть 20 представлений и 40 классов, которые сопоставлены с каждой таблицей на сервере SQL. Мои представления собирают различные таблицы данных (что означает разные объекты). Должен ли я создать еще 20 классов, кроме 40, которые представляют представление?

OBJ

class BOboj {
        private int _PId;
        private string _Name;
        .......
        .......


}

DAL

BOboj_DAL {

        public bool Add(BOboj obj)
        {
            using (SqlConnection con = Connect.connect)
            {
                string sql = "insert into Persons (Id,Name,
                 .......
                 .......
}

BBL

BOboj_BLL {

        .......
        .......
        public bool Add(BOboj_DAL obj)
        {
            BOboj_DAL bb_dal = new BOboj_DAL();
            try
            {
                return bb_dal.Ekle(obj);

            }
            catch (Exception)
            {

                throw;
            }
            finally { bb_dal = null; }

        }

        .......
        .......
}

Пресантаон Слой

  protected void Add(object sender, DirectEventArgs e)
        {
            BOboj_BLL bll_= new BOboj_BLL ();

            BOboj  obj_ = new BOboj 
            {
                Name = Name.Text,
                ..............
                ...............

            };
            bll_.Add(obj_ );
}

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос