|
NHibernate 3.1 Fetch FetchMany
|
|||
---|---|---|---|
#18+
Добрый день. Хочется чтобы NHibernate 3.1 одним sql-запросом сформировал бизнес-объект имеем вот такой бизнес-объект: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
вот такой маппинг: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
ну и собственно вот такой linq-запрос: Код: c# 1. 2. 3. 4. 5.
теперь если посмортеть в профайлер, то действительно выполняется один запрос(большой очень). но в таком случае в коллекциях Units и Categories имеем задублированные записи. Хотя в БД нет задублированных записей для этих коллекций. Как правильно загружать объекты одним запросом, используя linq, без select N+1? З.Ы. EF 4.1 умеет это делать, используя Include, и айтемы в коллекциях не дублируются, и sql- запрос один. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 12:07 |
|
NHibernate 3.1 Fetch FetchMany
|
|||
---|---|---|---|
#18+
GFX, А LINQ - принципиально? А то может для IQuery, ICriteria и QueryOver есть простой способ через SetResultTransformer. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 15:29 |
|
NHibernate 3.1 Fetch FetchMany
|
|||
---|---|---|---|
#18+
SolYUtorGFX, А LINQ - принципиально? А то может для IQuery, ICriteria и QueryOver есть простой способ через SetResultTransformer. В том то и дело, что Linq принципиально :( SetResultTransformer - делает то что нужно! Но нужен все таки Linq, потому что используется в Where -Expression. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 17:36 |
|
NHibernate 3.1 Fetch FetchMany
|
|||
---|---|---|---|
#18+
Интересно, а разработчики NHibernate Linq, собираются это исправлять? Весь stackoverflow кишит сообщениями типа cartesian product, все хотят полноценный linq. А так же все пишут что NHibernate поддерживает Linq, приводя детские примеры. а ля (var list = session.Query<Product>().Where(x => x.Name.StartsWith("P")).ToList();) Но это же не полноценная поддержка! Я просто возмущен. Ни кто не знает? Где можно почитать о том что разработчики намерены исправить какие-нить баги хибера, желательно баги связанные с linq? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 11:17 |
|
NHibernate 3.1 Fetch FetchMany
|
|||
---|---|---|---|
#18+
GFXГде можно почитать о том что разработчики намерены исправить какие-нить баги хибера, желательно баги связанные с linq? Если так хочется... то есть багтрекер NHiberanate , и есть группа посвящённая разработке NHibernate . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 14:40 |
|
|
start [/forum/topic.php?fid=17&fpage=37&tid=1350469]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 147ms |
0 / 0 |