Аудиторская информация в таблице отношений с помощью NHibernate - PullRequest
1 голос
/ 29 августа 2010

Я использую NHibernate в проекте. База данных должна иметь дату создания и пользовательские поля создателя в таблицах отношений, но я не хочу отображать отношения в домены. Мой дизайн БД выглядит так:

school (id, name, credate, creuser)
student (id, name, credate, creuser)
school_student(id, school_id, student_id, credate, creuser)

Для school_student.id я использую автоинкремент pk, а не null, поэтому мне не нужно отображать его. NHibernate автоматически управляет отношениями, поэтому мне не нужно отображать school_id и student_id. Для получения кредита я могу использовать функцию getdate (), поэтому мне не нужно отображать это поле.

Но для поля creuser я не могу придумать, каким образом мне не нужно создавать класс домена для таблицы school_student. Как мне избежать создания домена для таблицы school_student? Есть ли способ отправки информации о пользователях в базу данных каждый раз, когда NHibernate вставляет запись в эту таблицу?

1 Ответ

0 голосов
/ 29 августа 2010

Вы можете использовать SUSER_SNAME() в качестве значения по умолчанию для столбца, если это прямое соединение.

Косвенно (например, через веб-сайт) вам нужно будет отправить значениеContext.User.Identity, потому что механизм БД не знает, кто является конечным пользователем.Вам придется сопоставить его в nHibernate.

...