Самый быстрый способ назначить свойства классу из строки данных С#

Прямо сейчас я работаю над большим проектом, поэтому существует много данных и таблиц.

Для лучших практик я создаю класс для каждой таблицы и объекта

Это выглядит так:

public class Employee
{
    private String Name;
    public String Name
    {
        get
        {
            return Name;
        }
        set
        {
            Name = value;
        }
    }

    public Employee(int EmployeeID) 
    {
        /*
         GET DATA ROW AND ASSIGN IT TO EVERY PROPERTIE
         * 
         * Name = row("name")
         * AND DO THIS FOR EVERY PROPERTIE!
         * 
         */
    }
}

Итак, что здесь происходит, так это то, что я должен назначить каждое свойство из запроса в конструкторе класса.

Но представьте себе таблицу с 50+ столбцами, мне нужно сделать это 50+ раз, и это занимает много времени.

Есть способ автоматизировать создание более 50 свойств и назначение более 50 свойств в классе, не занимая много времени.

Я просто хочу найти способ создать класс, автоматизирующий назначение свойств из строки данных, вместо того, чтобы записывать все строки столбцов в свойства. Что-то вроде Entityt Framework, но сделанное мной.

Приветствие и спасибо


person NathanWay    schedule 06.09.2015    source источник
comment
Этот код даже не скомпилируется, так как вы объявляете двух участников с одинаковыми именами. (Похоже, вам следует просто использовать автоматические свойства.) Есть ли у вас доказательства того, что установка этих свойств на самом деле является узким местом? Предполагая, что они поступают из базы данных, доступ к базе данных будет значительно перевешивать время, затрачиваемое на тривиальные задания.   -  person Jon Skeet    schedule 06.09.2015
comment
Я написал фрагмент быстро, хе-хе. Я просто хочу найти способ создать класс, автоматизирующий назначение свойств из строки данных, вместо того, чтобы записывать все строки столбцов в свойства. Что-то вроде Entityt Framework, но сделанное мной...   -  person NathanWay    schedule 06.09.2015
comment
Так вы говорите, что проблема не в производительности во время выполнения, а в раздражении от написания кода? Если это так, пожалуйста, уточните свой пост - создается впечатление, что в данный момент речь идет о производительности.   -  person Jon Skeet    schedule 06.09.2015
comment
Спасибо, Джон :) Я буду ..   -  person NathanWay    schedule 06.09.2015


Ответы (2)


В Интернете есть куча примеров для создания классов С# из таблиц dB и хранимых процедур, исследуйте это и POCO, например:

Создать класс из таблицы базы данных

http://www.codeproject.com/Articles/8397/C-Code-Generator-for-Stored-Procedures

Вы не первый с этим сталкиваетесь, в следующий раз лучше погуглите.

person Jeremy Thompson    schedule 06.09.2015

вы должны использовать лучший подход к коду структуры сущности, он работает, даже если ваша база данных уже создана.

используйте инструмент для создания модели класса и создайте контекст, например:

  public class MyContext : DbContext
  {
      public MyContext (){}
       public DbSet<MyModel> MyModel { get; set; }
  }
person Ariel Batista    schedule 06.04.2018