|
|
|
EF, как сократить количество запросов
|
|||
|---|---|---|---|
|
#18+
Всем привет))) есть простенький запрос SELECT [Topic].[Id] ,TypeProblem.TypeProblemName ,[Title] ,[Description] ,[DateCreate] ,TimeReaction.TimeReactionName ,[UserId] ,[TopicNew] ,[TopicInWork] ,[TopicClose] ,[Anonymous] FROM [Topic] Left Join TimeReaction ON [Topic].[TimeReactionId]=TimeReaction.id LEFT JOIN TypeProblem ON [Topic].TypeProblemId=TypeProblem.Id Where [Topic].id=2 также есть построенная модель EF. чтобы в EF реализовать данный запрос я пишу Код: plaintext 1. 2. я так понимаю что к базе делается 3 запроса? можно ли сократить до одного? или лучше использовать хранимую процедуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 22:41 |
|
||
|
EF, как сократить количество запросов
|
|||
|---|---|---|---|
|
#18+
автор var topic= new HDModel.HDEntities().Topic.Include("TimeReaction").Include("TypeProblem").First(t => t.Id == 2); Попробуй так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 23:26 |
|
||
|
EF, как сократить количество запросов
|
|||
|---|---|---|---|
|
#18+
NoNameR, ага, буквально 10 мин назад нашел про Include в этом форуме в предыдущей теме))) работает))) спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2009, 23:42 |
|
||
|
EF, как сократить количество запросов
|
|||
|---|---|---|---|
|
#18+
Только я как-то эксперимент ставил - вариант с Include работает гораздо дольше, чем вариант с последовательными Load'ами, потому что запросы просто кошмарные получаются. Особенно, если надо тягать много данных. Так что это палка о двух концах :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 02:12 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35927272&tid=1351860]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 401ms |

| 0 / 0 |
