|
|
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
Вопрос: как выполнить запрос select * на LINQ ObjectQuery<table> q = s.table; var q = from table in q where table.field == "value" select new { // чтобы не указывать каждое поле а выполнить а-ля select * }; ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 14:57 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
Robb, А зачем тогда select new ? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 15:18 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
т.е. select table как бы и есть * ??? просто я не совсем еще в этом LINQ ориентируюсь (как-то напрягает меня он :)) на SQL привык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 15:51 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
Robbт.е. select table как бы и есть * ??? просто я не совсем еще в этом LINQ ориентируюсь (как-то напрягает меня он :)) на SQL привык. я тож по началу плевался, потом почитал и вкурил. Нормальная тема. а вообще select new нужет только если надо выбрать что то отдельное из коллекции или создать колекцию классов и использовать дальше. че нить в таком духе. класс-обертка Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Вот только не знаю есть ли смысл Where потом Select или наоборот Select потом Where? Если кто из гуру объяснил был бы признателен. Если есть то соответственно при Where Select я так понимаю все делается на сервере а при Select Where селект делается на сервере а условия отбираются локально. Хотя не вдавался в подробности. сам учил linq только по одной главе из книги ASP NET 3.5 на C# 2008 Silverligth 2.0 AJAX там есть одна глава кажется #13 Если у тебя в dataContext класс состоит из ID и Name то класс обертку можно опустить а приобразовывать соответсвенно к классу dataContext Допусти таблица называется people и поля ID и Name Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 16:35 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
gds я тож по началу плевался, потом почитал и вкурил. меня аж колбасит.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2009, 16:58 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
gds Вот только не знаю есть ли смысл Where потом Select или наоборот Select потом Where? Если кто из гуру объяснил был бы признателен. Если есть то соответственно при Where Select я так понимаю все делается на сервере а при Select Where селект делается на сервере а условия отбираются локально. Хотя не вдавался в подробности. Действительно каша.. Select это операция шейпинга, т.е. преобразования данных из одного типа в другой. Where это операция фильтрации, ограничение выборки. Если шейпинг не нужен, то Select использовать не нужно, т.к. это будет просто лишний вызов (не путать с синтаксическим сахаром from x in y .... select x, тут select в конце является терминатором конструкции и его необходимо указывать, даже если преобразования нет). Код: plaintext 1. Код: plaintext 1. или если нужен оффлайновый набор данных, то в конце вызвать ToList() или ToArray(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 13:03 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
еще один термин - шейпинг.. что это, обертка что ли. мне как то видится что в .НЕТ самое навороченное не технологии а терминология и вечно меняющийся синтаксис, повторяющий тоже самое, но с другими закорючками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 18:24 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
а еще мне нравится "синтаксический сахар" - вот уж млин, пафосные речи... попроще можно, без литературных излишеств? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 18:26 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
gds я тож по началу плевался, потом почитал и вкурил. Нормальная тема. gds, дай мне немного трэшануть.. объясни плиз, вот все эти навороты с LINQ - какой смысл все это знать, тратить время, чтобы потом забыть SQL? Ну вот если там разные базы, а программа одна, в ней все на ЛИНКе и потом подключать разные базы, ну понятно.. Вот я смотрю на перспективу, все эти пируэты с ЛИНК - вымрет ведь, ж... чую.. останется сервер с SQL и нормальные программные читалки запросов с сервера.. На этом ЛИНК можно написать и так и эдак, понапишет один чел мне запросов в коде, с использованием "сахаров и уксусов", а потом разбирай как это все модифицировать. На SQL написано однажды, работает, читать умеешь - вперед.. Мне EF в принципе нравится, так удобнее конечно, ну а чем DataSet не нравился, т.е. разработчики предлагают забить на DataSet что-ли? Ведь вот смотри, вюхи не работают, там процедуры и функции базы глючат, какой реально серьезный проект можно положить на EF в нынешнем исполнении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 18:37 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
Robbтам процедуры и функции базы глючат Робби, я не говорил глючат . ;) Ты безнадёжно отстал от жизни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 18:46 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
buredRobbтам процедуры и функции базы глючат Робби, я не говорил глючат . ;) Ты безнадёжно отстал от жизни. работал в одном иностранном банке. там народ пишет на SQL и Cobol - топ банк в Еврозоне. всякие мелкософтовские приблуды у тамошних вызывают стойкое отвращение. и софт у них работает прекрасно и ЛИНК им как собаке пятая ))) однако.. по теме.. вот вьюха не "всасывается" в EF, что с этим делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 20:09 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
Robb, Вся документация написана с использованием этих терминов, так что прежде всего иди читать их описание. Только первый раз и только для тебя поясню первые два термина: шейпинг (shaping) - собственно как должно быть понятно из название, придание чему-то некой формы. В данном конкретном случае - придание новой формы данным из источника данных, т.е., расшифровываю дальше, преобразование данных в новый тип (query.Select(p=>new { ... });) синтаксический сахар (syntactic sugar) - конструкция языка, заменяющая другую, сделаная для облегчения чтения кода, или чтобы сделать некоторые вещи проще (например, оператор yield). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 22:39 |
|
||
|
select * на LINQ
|
|||
|---|---|---|---|
|
#18+
зы, спасибо за перевод - у меня свободный инглиш кстати.. этот "сахар" скорее как ""синтаксический уксус". спасибо за разъяснения, теперь хоть смогу наконец прочитать документацию. хотя не думаю что от знания таковых (спасибо тебе) у меня появится объяснение - "почему не генерится КОД для вьюшки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2009, 23:12 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=64&tid=1351536]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 357ms |

| 0 / 0 |
