powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как получить в NHibernate коллекцию объектов базового типа, без подгрузки дочерних
3 сообщений из 3, страница 1 из 1
Как получить в NHibernate коллекцию объектов базового типа, без подгрузки дочерних
    #37976136
Alexus_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть объекты

Код: c#
1.
2.
3.
4.
public class A 
    {
        public virtual int A { get; set; }
    }
...
Рейтинг: 0 / 0
Как получить в NHibernate коллекцию объектов базового типа, без подгрузки дочерних
    #37976141
Alexus_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нда...Нечаянно нажал ctrl-enter

Пишу вопрос заново

Есть объекты
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public class A 
    {
        public virtual int A { get; set; }
    }

public class B:A 
    {
        public virtual int B { get; set; }
    }



Есть мапинги в режиме JoinedSubclassMapping (наследуемые таблицы)
Есть запрос

Код: c#
1.
2.
3.
4.
 public IEnumerable<T> GetAll<T>() where T : Entity<int>
        {
            return CurrentSession.Query<T>().ToList().Where(x => x.GetType() == typeof (T));
}



Он работает. Позволяет получить при запросе
GetAll<A>()
коллекцию только A типа. Но из бд тянется все, и А и В.

Как это сделать правильно? Чтобы запрос шел только к одной таблице?
Спасибо!
...
Рейтинг: 0 / 0
Как получить в NHibernate коллекцию объектов базового типа, без подгрузки дочерних
    #37976382
Alexus_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за ответ. наверно 4 топик уже а режиме автобиографии.

Магию я не понял до конца, но не работает при работе с теймплетными типами

Поэтому сделал эм..спецификации, конкретные реализации под нужный тип -

Код: c#
1.
return CurrentSession.Query<Plot>().Where(x => x is Plot);



И все заработало прекрасно. Запрос прекрасно генерится сразу, учитывая типы. я кстати не упоминал, режим мапинга
Код: c#
1.
PlotMap : JoinedSubclassMapping<Plot>



Так что в запросе join'ы на таблицы наследованных типов. И проверяется, точно ли там ничего нет по данному id
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как получить в NHibernate коллекцию объектов базового типа, без подгрузки дочерних
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]