Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
27.12.2011, 11:26
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Добрый день, уважаемые коллеги! Пользуясь случаем, Поздравляю Вас с наступающим Новым Годом! И у меня есть вот такой вопрос: Итак у нас есть следующие POCO-объекты: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Настраиваем маппинг, используя Fluent API интерфейс Код: 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.
Далее создаем свой контекст, согласно примерам из ADO.Net Team Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Ну и собственно вопрос Код: c# 1. 2.
как мне указать маппинг, так чтобы при выполнении вышеуказанного кода в экземпляре team, загружались элементы коллекции Players? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.12.2011, 12:33
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Алексей К Using DbContext in EF 4.1 Part 6: Loading Related Entities Спасибо за ссылку. Но в той статье используется ключевое слово Using DbContext. Я конечно понимаю что без контекста ни как. Но мне все таки хотелось бы обойтись без Include(явным вызовом). Можно это программно настроить как в L2S? что бы контекст при материализации(новое слово освоил), еще и сам лез в БД и заполнял коллекцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.12.2011, 13:03
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Хочется вот такого простого. как в NHibernate Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.12.2011, 13:22
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Я бы получил вложенную коллекцию вложенным LINQ-запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 12:12
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Алексей КЯ бы получил вложенную коллекцию вложенным LINQ-запросом. Вы бв сделали вот так?: Код: c# 1.
Получить объект Team и все объекты вложенной коллекции. Если так, то надо придумать мне как в метод репозитория T GetByID(int id), передавать список Expression для Include. Хочется сделать репозиторий, у которого будет метод GetByID и этот метод сам должен подгружать вложенные объекты в T. Может кто встречал такую реализацию репозитория? З.Ы. Был сильно удивлен. что для того чтобы получить объект и все объекты вложенной коллекции. EF делает один sql-запрос: Код: sql 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.
в L2S было бы 3 не больших(простых) запроса. Это хорошо что к sql-серверу идет один, но большой запрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 12:44
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
GFXв L2S было бы 3 не больших(простых) запроса.Хорошо ли это? GFXЭто хорошо что к sql-серверу идет один, но большой запрос?Наверное. Всё зависит от плана выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 12:53
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
GFXВы бв сделали вот так?: Код: c# 1.
Получить объект Team и все объекты вложенной коллекции.Можно так. Можно и не так. Как больше нравится. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 13:09
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Алексей КGFXв L2S было бы 3 не больших(простых) запроса.Хорошо ли это? GFXЭто хорошо что к sql-серверу идет один, но большой запрос?Наверное. Всё зависит от плана выполнения. 1. Думаю что много запросов для того чтобы материализовать бизнес-объект, это все таки плохо... Здесь EF круче чем L2S. 2. А вот план большого запроса, меня более чем устраивает! все джонит через Clustered Index scan ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 13:11
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Алексей КGFXВы бв сделали вот так?: Код: c# 1.
Получить объект Team и все объекты вложенной коллекции.Можно так. Можно и не так. Как больше нравится. :-) А как бы Вы сделали? как Вам больше нравится? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 13:14
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
GFX1. Думаю что много запросов для того чтобы материализовать бизнес-объект, это все таки плохо...Я бы не был столь категоричен. Всё зависит от конкретного случая. В большинстве случаев один запрос предпочтительнее, но всяко бывает. GFXЗдесь EF круче чем L2S.Это да. GFX2. А вот план большого запроса, меня более чем устраивает! все джонит через Clustered Index scanClustered Index scan - скорее плохо чем хорошо. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 13:18
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
GFXА как бы Вы сделали? как Вам больше нравится?Вместо Include сделал бы вложенный запрос. По сути - тоже самое. Но это уже субъективно, чисто дело вкуса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 13:43
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
Алексей КClustered Index scan - скорее плохо чем хорошо. :-) Оказалось что в одном джойне Scan, а во всех случаях seek. А это хорошо :) У меня еще один вопрос к Вам, какую реализацию Repository посоветуете? Наверняка, вы EF уже заюзали в промыленном масштабе, ну и этот момент (с репозиторием) уже прорабатывали :) Спасибо! офтоп: Видимо для нового проекта выберу все таки не L2S, а EF 4.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.12.2011, 14:21
|
|||
---|---|---|---|
EF 4.1 Fluent mapping |
|||
#18+
GFXв L2S было бы 3 не больших(простых) запроса. Это хорошо что к sql-серверу идет один, но большой запрос? Хорошо. Межпроцессные (и межмашинные в том числе) вызовы - абсолютное зло. Их количество следует минимизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&mobile=1&tid=1350500]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 179ms |
0 / 0 |