nhibernate запрос аудита - PullRequest
0 голосов
/ 13 мая 2011

Я использую NHibernate в своем проекте и реализовал функции аудита с использованием прослушивателей событий.

Теперь мне нужно вернуть эти данные, я хочу вернуть их точно так же, как в базе данных, которая мне не нужнаБогатая объектная модель с отношениями Все, что мне нужно, это идентификаторы любых отношений.

Я просто пытаюсь показать журнал аудита (который по сути является копией того, что вы увидели бы, если бы вы открыли таблицу вsql).

Мне нужно иметь возможность сделать это для многих таблиц, и все, что у меня есть, это имя таблицы аудита, есть ли общий способ заставить NHibernate запросить таблицу и просто вернуть результаты в видеdatatable или что-то в этом роде, у которого нет определенной модели?

Поэтому я хочу, чтобы NHibernate сделал это:

SELECT * FROM "tablename"

, а затемверните его некоторым общим способом, чтобы я мог поместить его в сетку и автоматически сгенерировать столбцы из него.

Ответы [ 2 ]

0 голосов
/ 15 мая 2011

Для запроса несопоставленных объектов можно использовать следующее.

string tablename = "nonmapped";
IList<Unmapped> result = session
                                .CreateSqlQuery("select Id, Description from " + tablename)
                                .SetResultTransformer(Transformer.AliasToBean(typeof(Unmapped)))
                                .List<Unmapped>();

Подробнее: http://lostechies.com/jimmybogard/2010/06/30/ad-hoc-mapping-with-nhibernate/

0 голосов
/ 13 мая 2011

вы можете использовать метод 'select', чтобы получить только те поля, которые вы хотите:

session.CreateCriteria(typeof(Cat)).Select(c=> new {Id = c.Id, MateId = c.Mate.Id});
...