|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Привет всем! Пытаюсь освоить LINQ to EF в принципе нравится, но есть засада простой SQL запрос: Код: java 1. 2. 3. 4.
LINQ: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
В общем не могу округлить CENA до двух знаков - в любом из комментированных значений происходит ошибка. Уже весь мозг сломал:) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 10:33 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола Питерский, забирай из базы значения, округляй на клиенте, с помощью Math.Round, после того как сделаешь ToList() в целом именно так правильно делать, когда работаешь с LINQ ещё рекомендуют сортировку тоже делать на клиенте, но не всегда это удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 10:39 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола Питерский, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 10:44 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
hVostt, во как - таких тонкостей почему-то в учебниках нет. Ок - пытаюсь: Код: java 1. 2. 3.
Студия сразу ругается что item.CENA только для чтения ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 10:48 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
hVostt, понял, спасибо. Еще, а почему нельзя так: Код: php 1.
Пришлось выкручиваться через 2 let и MAX() ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 10:52 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола ПитерскийСтудия сразу ругается что item.CENA только для чтения свойства анонимных объектов всегда только для чтения. так это устроено. если хочешь преобразовать, делай ещё раз Select и получай другую коллекцию с нужными значениями. Микола ПитерскийЕще, а почему нельзя так: нет смысла курс засовывать в подзапрос, он отдельно прекрасно считается, можешь сделать через OrderByDescending, но лучше отдельно, а не внутри запроса. сохрани в переменную и используй дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 11:08 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
hVostt[ нет смысла курс засовывать в подзапрос, он отдельно прекрасно считается, можешь сделать через OrderByDescending, но лучше отдельно, а не внутри запроса. сохрани в переменную и используй дальше. Да - я все уже сделал, все получилось! Тут оказывается главное идеология, а ее почему-то ни в одном учебнике не описывают. Вроде как я и изучил LINQ, а пользоваться всеравно не могу без подсказок старших товарищей :) Большое спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 11:12 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Еще засада - не знаю как вернуть List из метода: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 12:47 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола ПитерскийЕще засада - не знаю как вернуть List из метода: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 13:28 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
buser, Анонимный тип (коллекцию анонимных типов) из метода вернуть нельзя. Нужно создавать отельный класс, использовать Tuple, или что-то более подходящее. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 14:19 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
stuffhappens, можешь показать как это делать на примере - а то у меня опыт c.net пару месяцев. Я просто видел как Dapper просто это делает и не думал что pдесь будет засада: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 14:39 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола Питерский, .. да прокрутите полученную коллекцию list через foreach и в каждом шаге добавляйте item из коллекции в свой список List<ValutSiteItem> .. заодно можно перед добавлением отформатировать данные, например, строки оттримить, числа округлить (если надо) .. оно, конечно, не так красиво, как через всякие Expression, зато - понятно ... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 14:54 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
carrotik, этож велосипед получается - я думал есть более элегантный способ: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
У тогоже Dapper+SQL намного меньше кода писать приходится. Думал Linq поможет упростить код - а тут наоборот все получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 15:06 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола ПитерскийУ тогоже Dapper+SQL намного меньше кода писать приходится. Думал Linq поможет упростить код - а тут наоборот все получается. Вовсе нет. Тут дело не в LINQ, просто в C# нельзя возвращать анонимные классы, ведь если ты будешь дёргать такой метод, откуда ты знаешь что там возвращается? Строгая типизация, Dapper тут тоже ничем не поможет. Определи свой класс, и вместо new { ... } используй new MyClass { ... }, в остальном тоже самое. Советую обратить внимание на AutoMapper и проекции (projections), погугли, очень интересные техники, решают и снимают много вопросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 17:22 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
hVostt Определи свой класс, и вместо new { ... } используй new MyClass { ... }, в остальном тоже самое. Да я бы с радостью - просто данный способ не работает, я уже вроде все варианты проверил: Код: java 1. 2. 3. 4. 5. 6. 7.
Ошибку дает студия - подчеркивает открывающую фигурную скобку, ошибка: Невозможно инициализировать тип ValutSiteItem инициализатором коллекции, поскольку он не реализует интерфейс System.Collections.IEnumerable Пытался также наследовать свой класс от интерфейса IEnumerable - но тут видать знаний не хватило. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 21:58 |
|
Помогите найти ошибку в Linq запросе
|
|||
---|---|---|---|
#18+
Микола Питерскийподчеркивает открывающую фигурную скобкуНу основы синтаксиса языка-то стоит выучить Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2016, 22:28 |
|
|
start [/forum/topic.php?fid=17&msg=39361636&tid=1349334]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
4ms |
others: | 14ms |
total: | 178ms |
0 / 0 |