Запрос Linq-to-nHibernate с несколькими объектами? - PullRequest
0 голосов
/ 31 июля 2009

Поддерживает ли Linq-to-NHibernate получение данных из нескольких объектов в одном запросе?

например:.

Dim query = From f In context.Session.Linq(Of Floor)() _
            Select f.Id, f.Name, f.Building.Id, f.Building.Name

Dim results = query.ToList()

Где Building - родительская сущность Floor.

Ответы [ 3 ]

2 голосов
/ 02 сентября 2009

Вам нужно будет использовать метод Expand для session.Linq. Например (извините, в c #),

var linq = session.Linq<Floor>();
linq.Expand("Building");  //causes "Building" to be eagerly loaded.
//Then your linq query goes here...
1 голос
/ 02 ноября 2009

Я играл с Expand. Интересный момент и о шаблоне репозитория.

Однако меня сразу же поразил запах волшебной струны «Строительство» в примере @ Саймона. В конце концов я наткнулся на это сообщение в блоге от Marcin Budny.

http://marcinbudny.blogspot.com/2009/10/typed-expand-for-linq-to-nhiberante.html

У меня хорошо работает.

1 голос
/ 31 июля 2009

Это должно быть возможно, поскольку NHibernate поддерживает это изначально. Пока что у меня нет опыта работы с Linq-to-NHibernate.

Вы пробовали запрос, и если да, каков был ответ?

...