|
|
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
В продолжении вчерашнего открытия состоящего в том что запрос типа Код: plaintext 1. 2. Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:14 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Ты может уже спецификацию почитаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:19 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
НахлобучТы может уже спецификацию почитаешь? Если не трудно конкретнее! Очень важный момент в контсруировании приложения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:25 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
это :) можно ставить номер серии этого сериала,а то я иногда попадаю в заблуждение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:33 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Bill GreatЕсли не трудно конкретнее! Очень важный момент в контсруировании приложения! Если не трудно, почитайте про Deferred Execution. И про то, что же делает вызов AsEnumerable() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:33 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Нахлобуч Если не трудно, почитайте про Deferred Execution. И про то, что же делает вызов AsEnumerable() То есть достаточно поставить AsEnumerable() как получаем всё на клиенте? Сейчас проверим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:43 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
В одну сторону не верно, то есть если код изменть и написать Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 14:46 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Безутешный итог таков Если написать Код: plaintext 1. 2. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 15:07 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
AlexeiKэто :) можно ставить номер серии этого сериала,а то я иногда попадаю в заблуждение :) Я для себя открытия делаю everry day и делюсь ими! Вы всё это уже знаете? Сомневаюсь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 15:13 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Bill GreatБезутешный итог таков Если написать Код: plaintext 1. 2. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. Очевидно в первом случае where IQueryable а во втором IEnumerable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 16:42 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Bill Great AlexeiKэто :) можно ставить номер серии этого сериала,а то я иногда попадаю в заблуждение :) Я для себя открытия делаю everry day и делюсь ими! Вы всё это уже знаете? Сомневаюсь! Лучше книги почитай! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 17:28 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
как же написать expression что бы было IQueryable? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 17:32 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Bill Greatкак же написать expression что бы было IQueryable? Код: plaintext 1. Пиши Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 18:06 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Гу Пиши Код: plaintext Спасибо! Итак словарик действий (выполняющихся на сервере!) выглядит так Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 18:16 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
блин, пока меня не было и пока я дочитывал и дописывал первую серию, во второй уже все разжевали :) ну ладно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2008, 18:37 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
зыблин, пока меня не было и пока я дочитывал и дописывал первую серию, во второй уже все разжевали :) ну ладно :) однако удобней не стало по сравнению с записью (from c in query where c.CompanyName.Contains(fotbordoc["CompanyName"].value.ToString()) select c).AsQueryable<Customer>(); Мы нечего не выйграли! Казхалось бы произошло разделение на данные ( значение отбора) и действие ( словарик действий), но реально какую FUNC применять знает отбор. Например - пользователь может выбрать отбор по названию и указать способ - точное совпадение, по началу и т.д. Или отбор по данной колонке может быть типа интервала @p1<= field <@p2! Это означает смесь отбора и действия! Возможно ли это сделать при помощи словарика? ТО есть что то типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 10:11 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
я тебе всего-лишь показал, как можно упростить сложную структуру условий и ветвлений используя простой словарь действий. Мы выиграли в читабельности и компактности кода, а так же простоте поддержки. Хочешь ветвления - можешь добавить второй уровень. Если ветвления только для нескольких колонок, можешь писать через ? p=> p.EqType==EqType.Like ? customer.Contains(p.Value) : customer==p.Value можешь идти дальше и реализовать мини-фабрику Expressions и составлять их находу, тогда можно будет почти избежать ветвлений логики и т.п. способов дофига, главное выбрать правильный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 12:40 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
Bill Great Нуу все. Дали человеку в руки молоток, теперь везде гвозди мерещатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 13:00 |
|
||
|
LINQ -в каких случая запрос выполняется на сервере?
|
|||
|---|---|---|---|
|
#18+
зыя тебе всего-лишь показал, как можно упростить сложную структуру условий и ветвлений используя простой словарь действий. Мы выиграли в читабельности и компактности кода, а так же простоте поддержки. Хочешь ветвления - можешь добавить второй уровень. Если ветвления только для нескольких колонок, можешь писать через ? p=> p.EqType==EqType.Like ? customer.Contains(p.Value) : customer==p.Value можешь идти дальше и реализовать мини-фабрику Expressions и составлять их находу, тогда можно будет почти избежать ветвлений логики и т.п. способов дофига, главное выбрать правильный. Про мини-фабрику Expressions где бы почитать? А может она формироваться в run time пользователем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2008, 13:33 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35136073&tid=1352407]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 470ms |

| 0 / 0 |
