2016-03-30 3 views
0

Я изучаю шаблон MVC и репозитория и не понимаю, как достичь данных. (Я использовал asp.net с DAL, где вызов хранимой процедуры и возвращаемый dataview или набор данных) Я хотел бы использовать jqgrid (datasource JSON).MVC - шаблон репозитория

  • следует использовать рамки сущности рекомендуются только один табличные операции или я должен использовать Entity Framework, чтобы получить данные для сложного типа? (большая часть сетки имеет множественный набор результатов набора результатов с помощью хранимой процедуры)
  • Когда я использую общий репозиторий с помощью метода GetAll, FindBy, Add, Delete, Update, но мне нужен только метод GetAll, лучший способ создать другой общий репозиторий с методом GetAll и использовать его?
  • если я хочу использовать хранимую процедуру с несколькими результирующими наборами, что является лучшим способом ее достичь? (Entity Framework комплекс тип данных обрабатывать только один набор результатов)

ответ

1

на вопрос довольно широк, однако здесь некоторые моменты, чтобы помочь:

  1. Используйте EF для самых простых вещей (нагрузка несколько записей, обновить одну/две записи), но использовать хранимые процедуры, когда вам нужно закодировать бизнес-логику, плотно связанную с данными (лучшая производительность).
  2. Используйте виды для гридов, когда это возможно, и процедуры, если вам нужно. Если представления основаны на больших таблицах, применяйте фильтры перед выпуском запроса для сокращения времени выполнения запроса и, если возможно, отключите сортировку по объединенным столбцам.
  3. Если для вас действительно важны несколько наборов результатов, тогда вы должны сами его закодировать либо с помощью ADO.NET, либо использовать небольшую ORM (такую ​​как Dapper) поверх сущностей, сгенерированных EF. Использование EF предполагает, что вы откажетесь от некоторых функций ADP.NET (например, нескольких наборов результатов и параметров табличного значения).
+0

В этом случае я буду создавать: - DAL класс libary проект с целью получения данных с помощью ADO.NET - MVC Projekt с Repository, и моделью с использованием рамки сущности для простых операций и контроллер вызовов через DAL репо или юридическое лицо рамочные методы. Для проверки я использую jquery.validation вместо уровня обслуживания или проверку модели Это правильная архитектура? –

+0

DAL - это то, где вы должны поместить модели и репозитории EF. Создайте библиотеку уровня обслуживания и поместите свою бизнес-логику. MVC должен ссылаться на DAL и сервисный уровень. Проверка формата данных, которую вы можете выполнить с помощью jquery или в контроллере. Однако проверка бизнес-логики должна выполняться на уровне сервиса. – Candide

Смежные вопросы