C# — Как создать экземпляр класса из базы данных во время выполнения

#c# #sql-server #orm #mapping

Вопрос:

Сценарий: У меня есть следующая таблица в базе данных SQL Server, которая используется различными модулями всей системы (поэтому она должна оставаться такой, какая она есть и где она находится):

Таблица SQL

ID поле 1 поле 2
1 val1 val2
2 val2 val3
3 val4 val5

Я разрабатываю модуль системы, написанный на C# и .NET framework (.NET Core 3.1), где мне нужны данные в таблице.

Чтобы решить такого рода проблемы, я обычно «реплицирую» таблицу в своем коде с помощью статического класса:

 public class Constants
{
    public static class Element1
    {
        public const int id = 1;
        public const string field1 = "val1";
        public const string field2 = "val2";
    }

    public static class Element2
    {
        public const int id = 2;
        public const string field1 = "val2";
        public const string field2 = "val3";
    }
}
 

Таким образом, я могу получить доступ к данным таким образом:

 Constants.Element1.id;
 

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

Моя идея состоит в том, чтобы найти что-то, что загружает таблицу из базы данных во время выполнения и заполняет класс в C#. Это хорошая идея? Или, может быть, есть более надежный и элегантный способ сделать это?

Комментарии:

1. Используйте entity framework или (более легкий) dapper.net

2. Я уже видел аналогичный вопрос об этой таблице и изображении в другой учетной записи, но я действительно не помню тему …

3. @OlivierRogier извините, что я впервые использую StackOverflow. Предыдущий вопрос был неясен и был закрыт. Поэтому я попытался прояснить сценарий и опубликовал новый. Мне жаль, если я сделал что-то не так.