|
|
|
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=35927253&tid=1351860]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
95ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 451ms |

| 0 / 0 |
