Есть ли способ в nhibernate объединить строки из select в одно поле - PullRequest
0 голосов
/ 28 декабря 2018

Этот запрос будет отлично работать в SQL Server:

SELECT ',' + name 
FROM temp1
FOR XML PATH ('')

Но мне нужно реализовать его с использованием C # и NHibernate без ориентации базы данных.

return new { Items = Items..(
    Entities = String.Join(", ", x.Main.Select(z => this.ShortName))

Это создаст отдельный запросдля каждой строки верхнего запроса, и это очень дорого с точки зрения производительности.

Есть мысли?

1 Ответ

0 голосов
/ 15 января 2019

Можете ли вы создать представление в базе данных и использовать nHibernate для сопоставления с представлением вместо таблицы?

РЕДАКТИРОВАТЬ: другой вариант - HQL, как предложил @Amit Joshi.это может выглядеть так (не проверено):

var items = session.CreateQuery("SELECT ',' + name FROM temp1 WHERE XML PATH like '' ")
                   .UniqueResult<Item>();

больше информации о HQL можно найти здесь или здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...