У меня есть следующая структура БД:
Users:
- UserID
- UserName
- FirstName
- LastName
...
UsersLog:
- UserLogID
- UserID
- UserName
- FirstName
- LastName
...
- DateCreated
Таблица журнала просто вставляет запись против пользователя каждый раз, когда производится вставка или редактирование. Причина, по которой у меня есть таблица журналов, заключается в том, что при отправке заказа я могу просто зарегистрировать идентификатор журнала пользователя в соответствии с заказом, что означает, что у меня есть представление пользовательских данных во время заказа. Мне было интересно, как лучше всего это отобразить? В настоящее время я сопоставил обе таблицы, что позволяет мне сказать:
var user = new User { ... };
userRepository.Insert(user);
userLogRepository.Insert(new UserLog { User = user, UserName = user.UserName, FirstName = user.FirstName, ..., DateCreated = DateTime.UtcNow });
Моя самая большая проблема на данный момент заключается в том, что мне приходится заново добавлять каждое поле при вставке в таблицу журнала. Я знаю, что могу создать конструктор, чтобы справиться с этим, но мне было интересно, есть ли лучший способ справиться с этим. Буду признателен, если кто-нибудь сможет помочь.
Спасибо