Мы только что начали веб-проект. Ожидается, что таблицы Sql проекта будут большими таблицами с миллионами записей. И веб-приложение обычно сообщает данные пользователям. Это означает, что веб-приложение сделает «SELECT« в основном, чем «INSERT» или «UPDATE».
На данный момент мне интересно, должен ли я использовать классический подход BLL-DAL-MODEL (многоуровневая архитектура) или некоторый ORM, такой как Devexpress 'XPO. Наша компания использовала XPO в небольшом количестве приложений, и разработчики знакомы с ней. Они также знакомы с многоуровневой архитектурой, но, как вы знаете, реализация XPO проще, чем многоуровневая архитектура.
Теперь, я хочу знать, какой подход я должен выбрать. Кто-нибудь, кто выполняет тест производительности в соответствии с данными, выбирает как XPO, так и многоуровневую дугу.? Или есть идея?
Спасибо.devexpress xpo vs BLL-DAL подход для страниц отчета
ответ
Фер, я понимаю причину и смысл вашего вопроса, но я бы сказал, что я бы никогда не отказался от многоуровневого подхода, чтобы просто использовать определенную технологию или продукт, такой как XPO в этом случае. также EF и NHibernate можно использовать непосредственно из пользовательского интерфейса без необходимости отводками, но это вовсе не значит, что это хорошо, увидеть мой ответ здесь:
https://stackoverflow.com/a/7474357/559144
я бы либо не использовать XPO или только использовать его, если он может работать со слоем, как я описал там, и большие шансы, что он также работает, потому что в конце концов это ORM и может быть изолирован и отделен от остальных, как и любой другой продукт. Тем не менее это запатентованный DevExpress, и я бы не использовал его для больших приложений, которые менялись по-разному в течение нескольких лет, поэтому нечто более стандартное, например EF или NHibernate, вероятно, могло бы предложить более надежную и проверенную почву.
Я aggree с вами. Я также никогда не хочу переключать технологию ORM с черным ящиком, но в нашей компании используется xpo, и они хотят, чтобы я был уверен, что это многослойное приложение лучше. Итак, теперь я сделаю некоторые тесты как многоуровневой дуги. и xpo и увидеть показатели выполнения. Если xpo докажет себя в соответствии с производительностью, я могу рассмотреть возможность его использования, но если нет, я определенно буду использовать многоуровневую архитектуру. Спасибо за ваши идеи. – Fer
Что касается производительности XPO. У меня есть сетки с записями 500 тыс., И все работает нормально. На одной странице сетки отображается 20 записей. Несколько советов (DevEx v10.2):
1. вы можете использовать ASPxGridView в ServerMode. Вы можете посмотреть демо-версию here. В привязке сетки ServerMode выполняется следующее:
- выборка записей записи
- выборка первых 512 идентификаторов записи
- выборка записей для отображения в сетке. Это должно отображать записи, показанные на первой странице сетки, но мне кажется, что XPO выбирает cca. 50 записей.
2.XPO также будет получать данные, необходимые для связанных объектов. Это приведет к множеству простых запросов. Вы можете уменьшить это с помощью кеширования.
3.Мы используем XPO caching успешно. Это ускоряет работу приложения и уменьшает количество обращений к базе данных. Как я уже сказал, мы используем его на 500 тыс. Таблиц.
сначала спасибо за ваш ответ. Я уже читал о режиме сервера. Но это не просто для XPO, мы также можем реализовать это с помощью уровня доступа к данным. Я не знаю о кешировании XPO. Я должен это прочитать. Но я думаю, что ваши намеки касаются того, насколько просто реализовать xpo.Мне все же нужно выполнить сравнение производительности. – Fer
Конечно. Я просто пытаюсь указать на imporovements, которые вы можете получить с помощью ASPxGridView + XPO. Да, вы можете использовать ServerMode с источниками данных LINQ. Если вы хотите поддерживать другие библиотеки, вам нужно будет реализовать несколько интерфейсов. – Filip
- 1. DevExpress XPO с подзапросы
- 2. DevExpress XPO или Telerik OpenAccess
- 3. DevExpress XPO XPCollection Обновление изменений
- 4. DevExpress eXpress Persistent Objects (XPO) через WCF
- 5. Проверка в ASPXUpload Control в Devexpress + XPO
- 6. Передайте значение параметра sql для отчета devexpress?
- 7. Динамический набор параметров отчета devexpress
- 8. Получить данные из старого столбца в DevExpress XPO
- 9. Любые мысли о пакете ORM от DevExpress XPO?
- 10. C# Devexpress и XPO Как отфильтровать список просмотров
- 11. Регистрация не работает в LINQ в DevExpress XPO
- 12. DevExpress XPO Persistent Object реализует метод Save и New
- 13. Devexpress LinqServerModeDataSource vs LinqDataSource
- 14. разделение xpo на несколько файлов xpo
- 15. Google Analytics, список конкретных страниц для отчета
- 16. Извлечение отчета Google Analytics для всех страниц
- 17. Сложное правило для класса XPO
- 18. данных сеанса для отчета Диаграмма DataSource в DevExpress
- 19. Как я могу сериализовать проект отчета DevExpress XtraReport
- 20. VS 2010 RDLC Отчетность Условные разрывы страниц
- 21. Javascript для Cognos для отображения всех страниц отчета в iframe
- 22. Сериализация Xpo объектов через WCF
- 23. TLB vs Таблица страниц
- 24. Традиционный подход SQL VS ОРМ
- 25. Mongo - новый vs обработанный подход
- 26. Ориентация страницы отчета Microsoft (VS 2013, C#)
- 27. Установка значения для поля в XPO
- 28. C# XAF XPO Добавить категорию в список
- 29. DevExpress vs infragistics Suites - возможно, чтобы переключиться
- 30. C# datagrid vs DevExpress XtraGrid, скорость wise
Собираетесь ли вы отображать данные в сетке? Если да, собираетесь ли вы использовать сетку DevEx или какую-нибудь другую? – Filip
Мы, скорее всего, используем gridview для Devexpress. Вы думаете, что xpo работает лучше DAL в devxpress gird? – Fer
Я дам вам несколько советов в ответ. – Filip