Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Люди добрые помогите, я уже замучался, при попытке запуска выкидывает : Явная конструкция объекта типа "Linq_Aticles.Models.Category" в запросе не поддерживается. Код такой: В модели Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 22:13 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql, Первую строку представления покажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2010, 23:33 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Конечно вот: <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Linq_Aticles.Models.Category>>" %> Но мне кажется это не изза этого, при ошибке ide указывает на модель, в частности метод toList() Еще есть пример в книжке "Стивен Сандерсон - ASP .NET MVC Framework с примерами на C#" Создал пример из нее. Вот полный код примера: Контроллер: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. И кажется отыскал то место где лежит проблема ( во всяком случае в примере по книжке ): Почему-то такая запись в контроллере выдает ошибку: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. вот это i_pr_rep.Products.Where(a=>a.Name == "Kayak").ToList()через ключевые слова а не через лямбда методы??? Где ошибка в первой записи не пойму. Кто нибудь подскажите плиз!!! Ps. только что по аналогии переписал первый пример все получилось,кажется надо так ( public IEnumerable<Category> Get_category_list(int Id) { return (Category_table.Where(a=>a.ParentId == Id).ToList()); }), а почему по другому не получается ума не приложу.??? Подскажите люди добрые! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 01:57 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql... только что по аналогии переписал первый пример все получилось,кажется надо так ( public IEnumerable<Category> Get_category_list(int Id) { return (Category_table.Where(a=>a.ParentId == Id).ToList()); }), а почему по другому не получается ума не приложу.??? Подскажите люди добрые! Могу ошибаться, но мне кажется, что в linq не поддерживаются "проекции" класса на самого себя, т.е. из контекста запроса, который и так возвращает IQueryable<Category> нельзя возвращать select new Category(...) (но можно - что-то другое, хоть анонимный класс). Интуитивно, оно и понятно - зачем делать "масло масляное"? А точно - нет времени искать по спецификациям или в рефлекоре... З.Ы. совет - поставьте фреймворк с английской версией сообщений об ошибках, опять же, припоминаю, что что-то подобное я уже видел на английском и это было гораздо внятнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 09:35 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
qu-qu... Могу ошибаться, но мне кажется, что в linq не поддерживаются "проекции" класса на самого себя ... Ошибаюсь, в чистом LINQ - на ура: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. З.Ы. через пяток минут и это проверю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 09:47 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
qu-qu, наверное да, Кажется почти решил, если с помощью запросного синтаксиса, то получится как-то так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 09:47 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
qu-qu... Остается грешить на LINQ2SQL... ЧТД З.Ы. "явная конструкция" - сильный перевод ("поубывав бы" (с)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 10:04 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql... Только все равно не понятно как выбрать нужные столбцы, а не всю строчку a из таблицы. 1. созданием промежуточного класса (вроде CategoryDTO, CategoryViewData, etc.), который будет служить источником данных для View (строго говоря, Category - это сущность из Domain (BLL) и она не обязана передаваться на уровень представления); 2. возвратом анонимного класса (правда, View тогда перестанет быть строго-типизированным). З.Ы. жаль, что вопросы привязки данных к View выходят за рамки тематики данного раздела... (можно было бы продолжить). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 10:12 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Почему тогда здесь http://www.mikesdotnetting.com/Article/105/ASP.NET-MVC-Partial-Views-and-Strongly-Typed-Custom-ViewModels конструкция с new класс {} работает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 10:31 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sqlПочему тогда здесь http://www.mikesdotnetting.com/Article/105/ASP.NET-MVC-Partial-Views-and-Strongly-Typed-Custom-ViewModels конструкция с new класс {} работает??? Наверное, потому. что EF - это не L2S... (у него модель на EF сделана). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 10:35 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
qu-quKane_sqlПочему тогда здесь http://www.mikesdotnetting.com/Article/105/ASP.NET-MVC-Partial-Views-and-Strongly-Typed-Custom-ViewModels конструкция с new класс {} работает??? Наверное, потому. что EF - это не L2S... (у него модель на EF сделана). Кстати, вдогонку... Внимательно читайте статью - там ArticleSummary и ArticleTitle это как раз классы DTO, а ни разу не классы из Entity Model (Article и т.д.), т.е. принцип проекции на "сторонние" классы вполне соблюдается... З.Ы. вы же не знаете наверняка - что возвращает from a in de.ArticleSet? (можно догадываться, что ObjectSet<Article>, но это явно не то, что помешает создавать из него проекции: ArticleSummary и ArticleTitle). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 10:51 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
авторНаверное, потому. что EF - это не L2S... (у него модель на EF сделана). А ну да извиняюсь за ламерский вопрос, недосмотрел :) Кажется я понял, сделал также: в общем нужно извлечь из класса со столбцами id NameCategory ParentId только NameCategory и ParentId, для этого создаем класс DTO и пихаем в него нужные данные, тогда конструкция с new DTOкласс {} работает, то есть вот так Код: plaintext 1. 2. 3. В контроллере Код: plaintext 1. 2. 3. 4. 5. 6. qu-qu, так? я все правильно понял??? Спасибо разъяснил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 11:53 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. В общем делаю так В контроллере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. he model item passed into the dictionary is of type 'System.Web.Mvc.ViewDataDictionary', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[Linq_Aticles.Models.CategoryViewData]'. Что неправильно сделал скажи пожалуйста?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 12:14 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql... qu-qu, так? я все правильно понял??? ... Правильно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 13:57 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql Код: plaintext ... дык, здесь недалеко ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 13:58 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Аааааа !!! Всё разобрался :) Вот конечный вариант для частичного представления: Класс для полного представления: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Контроллер: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. < Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вот тока единственное не понятно: Почему у него класс в начале страницы указывается не по полному пути так: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<ArticleTitle>>" %> А у меня такое не работает приходится это писать: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<Linq_Aticles.Models.CategoryViewData>>" %> А если написать так: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<CategoryViewData>>" %> Выдает ошибку: Не удалось найти имя типа или пространства имен 'CategoryViewData Почему??? Вообще не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 14:03 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. he model item passed into the dictionary is of type 'System.Web.Mvc.ViewDataDictionary', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[Linq_Aticles.Models.CategoryViewData]'. Что неправильно сделал скажи пожалуйста ?? По-моему, забыл вот это: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 14:05 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Kane_sql... <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<CategoryViewData>>" %> Выдает ошибку: Не удалось найти имя типа или пространства имен 'CategoryViewData Почему??? Вообще не понятно? Он не привел в примере одну важную директиву, которую надо вставить в начало aspx/ascx файлов: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 14:09 |
|
||
|
Явная конструкция объекта типа ... в запросе не поддерживается.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext <Linq_Aticles.Models.CategoryViewData> ведь люди как-то делают так <ArticleTitle>, без лишней писанины... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 14:12 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36925120&tid=1351023]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
126ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 432ms |

| 0 / 0 |
