как создать классы репозитория и модели/сущности со всеми операциями CRUD с использованием подхода к базе данных в С#

У меня есть база данных, для которой я хочу создать репозиторий и классы сущностей/моделей со всеми операциями CRUD. Для этого я нашел инструмент под названием Entity Developer (https://www.devart.com/entitydeveloper/download.html), который генерирует весь материал, но без операции CRUD для каждой сущности, поскольку инструменты генерируют только пустой класс с именем ABCRepository, поэтому мне снова приходится писать код для каждого класса репозитория. Хотя та же задача может быть достигнута из инфраструктуры Entity, за исключением классов репозитория (которые не содержат никаких операций CRUD).

Может ли кто-нибудь помочь мне получить решение?

Обновление: я следил за этим руководством (https://dzone.com/articles/implementing-the-repository-pattern-using-c-and-en), в соответствии с этим разработчик сущностей должен создавать репозиторий для каждого типа объекта с помощью операций, но при этом следуя и создавая данные Модель, я получаю только пустые классы ABCRespository и IABCRepository. Я пробовал несколько способов создать модель данных, но безуспешно.


person Das Khatri    schedule 28.12.2020    source источник
comment
Entity требует, чтобы классы C# имитировали базу данных и файл сопоставления EDMX для перекрестной ссылки базы данных на классы. Использование меню VS Add DataSource автоматически создаст классы и EDMX, которые необходимо выполнить только один раз.   -  person jdweng    schedule 28.12.2020


Ответы (1)


Для этого я нашел инструмент под названием Entity Developer (https://www.devart.com/entitydeveloper/download.html), который генерирует весь материал, но без операции CRUD для каждой сущности, поскольку инструменты генерируют только пустой класс с именем ABCRepository.

Пожалуйста, проверьте свойство Generate Partial вашего шаблона Repository And Unit of Work. Если установлено значение True (по умолчанию), код создается в ABCRepository.Generated.cs. Файл кода ABCRepository.cs создается для пользовательского кода, который не будет перезаписан конструктором.

person Devart    schedule 04.01.2021
comment
К счастью, у меня был этот вариант раньше. Большое спасибо за ваш вклад, это правильный ответ, и он будет полезен и для других. - person Das Khatri; 07.01.2021