Привет, народ. Занимаюсь разработкой консольного приложения для ковыряния Postgresql и наткнулся на проблему.
Для того, чтобы общаться с БД я использую библиотеку
npgsql. Однако всё приходится "делать руками": считывать данные и преобразовывать их в классы, записывать данные из классов в таблицы, обновлять данные, удалять, поддерживать отношения между таблицами.
А я хотел бы иметь что-то вроде класса Repository<T>, который предоставлял бы CRUD операции. И атрибуты, вроде, IsNotNull, PK, FK(typeof(anotherT)) и так далее для T, чтобы линковать поля и свойства классов со столбцами таблицы.
Есть ли какие-либо решения? Куда копать? Я даже не знаю что гуглить.