Существуют ли какие-либо альтернативные фреймворки для динамических данных Asp.Net?

Я экспериментировал с динамическими данными, но обнаружил, что аспекты фильтрации и навигации в основном бесполезны, кроме самых простых сценариев, даже в предварительной версии 4. Я особенно хочу иметь возможность обрабатывать иерархические таблицы самоссылки при редактировании данных.

Кто-нибудь знает проект с открытым исходным кодом/или дешевую альтернативную структуру для получения аналогичной функциональности из коробки?

ОБНОВЛЕНИЕ: динамические данные позволяют легко подключить класс L2S или EF, установив global.aspx для использования этого контекста. Вы получаете базовую динамическую навигацию и фильтрацию с грубыми функциями для любых таблиц, которые вы связали в своем DBML, если используете L2S. Я хочу использовать его как инструмент управления бэкендом.


person Breadtruck    schedule 19.08.2009    source источник


Ответы (4)


Castle MonoRails :) Для ближайшей функции динамических данных asp.net, такой как инструмент/фреймворк, или, я должен сказать, наоборот, поскольку MonoRail отсутствовал до DD.

http://www.castleproject.org/monorail/

MonoRail был вдохновлен Ruby on Rails, и именно этим вдохновлен DD.

РЕДАКТИРОВАТЬ:

Я также искал, и я не знаю никаких других решений, подобных DD, которые также поддерживают L2S / EF. На самом деле я не нашел никаких других решений, подобных DD, кроме MonoRail с ActiveRecord.

Castle MonoRail использует ActiveRecord, который использует NHibernate. Хотя NHibernate не является L2S или EF, это ORM, и, по мнению большинства (возможно, всех), на данный момент он более зрелый. Реализация Active Record делает большую часть тяжелой работы за вас из того, что я читал, поэтому она даст вам лучшую альтернативу решению, подобному DD.

Я думаю, что это самое близкое, что вы получите на данный момент, если не хотите использовать DD.

person Kevin LaBranche    schedule 19.08.2009
comment
Вы говорите, что я получаю функциональность из коробки, как DD? Похоже, это больше похоже на структуру Asp.Net MVC, чем на DD, что является двумя разными вещами? - person Breadtruck; 19.08.2009
comment
Он основан на MVC вместо веб-форм, но использует маршрутизацию, которая находится в MVC и веб-формах DD, и шаблоны для редактирования / перечисления данных на основе сгенерированного слоя данных, на который вы можете влиять / украшать, чтобы манипулировать тем, что происходит. L2S или L2Entities в DD и Active Record в MonoRail. Я не могу сказать, насколько DD и MonoRail близки, так как я не использовал MR напрямую. Я читал об этом и слышал от других, кто его использовал, и они думали, что MR был намного более гибким / зрелым. - person Kevin LaBranche; 19.08.2009
comment
Честно говоря, DD не основан на веб-формах или MVC. Просто в своем текущем состоянии 3.5 SP1 он использовал веб-формы в качестве механизма шаблонов. Есть примеры, которые показывают, как использовать механизм DD с asp.net MVC, и я думаю, что 4.0 также будет включать его в MVC? - person Kevin LaBranche; 19.08.2009
comment
@klabrache: ранее я пытался сказать, что DD на самом деле не переводится в монорельс, сам по себе он сам по себе зверь, как я указал ниже. Я использовал много фрагментов из csharpbits.notaclue.net, чтобы сделать DD лучше, но некоторые вещи меня просто убивают. . Я просто подумал, что может быть что-то лучше или более зрелое, что в основном делает то же самое. - person Breadtruck; 19.08.2009
comment
Так что, может быть, мне нужно пояснение, монорельс больше похож на asp.net MVC или больше похож на DD? Я не думаю, что вы можете сравнивать MVC с DD. (кроме динамической маршрутизации, как вы сказали). Функционально DD использует сопоставление базы данных (L2S или L2E) и подключает этот контекст к вашему приложению, а также получает готовую навигацию и грубую функциональность вашей базы данных. Монорельс так делает? - person Breadtruck; 19.08.2009
comment
Попался. Ну вот и бессовестная вилка. Проверьте эту ссылку ниже: Это коллекция ссылок на людей умнее меня, которые помогли мне сделать некоторые вещи с DD, которые заставили меня любить его больше. stackoverflow.com/questions/1269244/inside -info-on-dynamic-data/ Фильтрация на данный момент является медвежьей и должна быть лучше в 4.0, но я также думаю, что видел несколько примеров того, как люди взломали это. Навигацией определенно можно манипулировать. Несколько сообщений в блоге по приведенной выше ссылке помогли мне лучше контролировать это. - person Kevin LaBranche; 19.08.2009
comment
Прямо на MVC и DD. Я считаю, что DD не основан на веб-формах или MVC. Это просто технология, используемая вместе с DD. Монорельс похож на DD в этом отношении. Оба являются источником вдохновения для Ruby on Rails. Идея заключается в том, как мы можем создать шаблоны для наших приложений, чтобы они работали быстрее. MVC и веб-формы — это просто механизм представления, который затем использует механизм создания шаблонов для отображения самого себя. MonoRail использует Active Record, аналогичную L2S и L2E. - person Kevin LaBranche; 19.08.2009
comment
Я использую этот термин слегка, поскольку Active Record определенно НЕ L2S или L2E. AR основан на шаблоне проектирования и фактически использует NHibernate. L2S, L2E и NHibernate — это ORMS, но они делают это совершенно по-разному и, таким образом, являются собственными зверями. Итак, короткий ответ: я не думаю, что вы найдете похожий DD, который использует L2S или L2E и веб-формы, и, и, и.... Есть и другие, но у каждого будет своя кривая обучения. - person Kevin LaBranche; 19.08.2009
comment
Я видел некоторые ссылки, которые у вас есть в этом другом посте, но я обязательно посмотрю блог Shoemakers. Итак, просто чтобы прояснить один комментарий, который вы сделали: какие другие там имеют свою собственную кривую обучения, мы говорим не о .Net или вы думаете, что монорельс стоит преследовать DD, зная, что мне нужно? - person Breadtruck; 19.08.2009
comment
Во-первых, позвольте мне извиниться за свое усердие во втором посте, я заявил, что слышал от других, кто использовал MR. Я говорил об этом, в частности, с одним человеком (не там, где я работаю), который предложил MR как нечто, на что стоит обратить внимание. Они не обязательно использовали MR (по крайней мере, они не уточнили, что использовали). Прошу прощения за преувеличение / ложь, если хотите. - person Kevin LaBranche; 19.08.2009
comment
Я знаю только MonoRail как единственную подобную структуру для строительных лесов в .Net, такую ​​​​как DD. Не удивлюсь, если есть и другие, но я о них не знаю. Мое утверждение о кривой обучения является общим утверждением. Я обнаружил, что когда я впервые посмотрел на MR, я был поражен тем, что казалось всем, что мне нужно было изучить, включая, например, NHibernate в качестве ORM, который он использовал. В целом ничем не отличается, поскольку мне пришлось учиться и до сих пор изучаю L2S, который я использовал, когда начал использовать DD. И DD, и MR будут иметь достойную кривую обучения для использования в реальном мире. - person Kevin LaBranche; 19.08.2009
comment
Я еще не использовал MR, но хотел бы. Без реального опыта я не могу сказать, стоит ли оно того, но я предполагаю, что оно того стоит. - person Kevin LaBranche; 19.08.2009
comment
Спасибо за разъяснения. Между прочим, хотя вы прокомментировали 11 часов, я до сих пор ничего не увидел в своих сообщениях. Я просто вернулся на всякий случай, и вы ответили. Что-то должно быть не так с SO и комментариями. - person Breadtruck; 20.08.2009
comment
Хм... интересно. Это дало мне знать, что вы прокомментировали. Странный. - person Kevin LaBranche; 20.08.2009

С древовидными таблицами с самоссылками трудно работать, несмотря ни на что. Это даже стоит того, когда у вас могут быть графики, например. узел может иметь более одного родителя. Затем вам нужно подумать о том, можете ли вы иметь циклы.

Поэтому я думаю, что вам нужен настраиваемый FieldTemplates или пользовательские шаблоны страниц.

Таким образом, вы можете использовать настраиваемый элемент управления для древовидных отношений самоссылки, но использовать стандартные динамические данные для создания форм для всех простых полей. Или создайте «рукописную» страницу для редактирования дерева, а затем ссылку на динамические данные для редактирования простых полей на каждом узле.

Извините, я не думаю, что у вас будет готовое решение, так как нужный вам пользовательский интерфейс сильно зависит от домена вашего приложения.

person Ian Ringrose    schedule 25.08.2009
comment
@ian: в основном мне было просто любопытно, есть ли что-то более зрелое, чем DD, поэтому мне не пришлось бы делать кучу модификаций. У меня просто нет времени возиться со всеми этими мелкими нюансами и странными вещами, которые любит ДД forums.asp.net/t/1455367.aspx - person Breadtruck; 25.08.2009
comment
@ian: Мне также интересно, что в некоторых отношениях DD правильно обрабатывает таблицу самоссылки в сгенерированных сетках, а не фильтрацию. Для получения дополнительной информации о том, что я имею в виду, см. а> - person Breadtruck; 25.08.2009

С древовидными таблицами с самоссылками трудно работать, несмотря ни на что.

Если вы ищете ORM, я настоятельно рекомендую LLBLGen. Если вы ищете «фреймворк», я бы сказал вам: ASP.NET это фреймворк :) Используйте его надлежащим образом, и жизнь наладится.

person Noon Silk    schedule 19.08.2009
comment
Динамические данные — это зверь сам по себе, не так ли? Я имею в виду, что я могу создать dbml L2S, настроить global.aspx для использования этого контекста, и я получу базовые функции навигации и crud. Я хочу использовать его как инструмент управления бэкендом. - person Breadtruck; 19.08.2009
comment
Ах; хорошо, я признаю, что никогда не использовал его. Возможно, комментарии других авторов будут более полезными. - person Noon Silk; 19.08.2009

SubSonic 3.0 имеет Scaffolding для ASP.Net, но я не уверен в его возможностях в отношении фильтрации и сортировки...

person Nicolas Irisarri    schedule 24.08.2009
comment
Разве subsonic больше не занимается созданием / созданием шаблонов вашей базы данных, но на самом деле не имеет динамического интерфейса для вставки, обновления и удаления? - person Breadtruck; 24.08.2009
comment
Кажется так. дальнейшие поиски привели меня к этой статье: blog.wekeroad.com/subsonic/subsonic -mvc-scaffold-addin, где Роб Коннери добавляет плагин для формирования шаблонов MVC в SubSonic. - person Nicolas Irisarri; 24.08.2009
comment
Так вы согласны с тем, что я говорю тогда? - person Breadtruck; 24.08.2009
comment
Я продолжил расследование и нашел эту старую статью (2007 г.), в которой автор использует элемент управления каркасом, чтобы добавить простые возможности редактирования в проект s8ubsonic. И управление вроде встроено в Subsnic. Он не генерирует код, как это может делать RoR Scaffolding, но он дает вам базовые функции фидинга в вашем проекте. Другими словами, да, он может создавать леса, но насколько я знаю, он очень ограничен. Прочтите статью по адресу dotnetslackers.com/articles/aspnet/IntroductionToSubSonic.aspx, рядом с рисунком 5 - person Nicolas Irisarri; 24.08.2009