6

Мы внимательно изучаем SPA, используя Breezejs для предоставления контекста данных между клиентом и сервером. Эти функции отлично смотрятся на клиенте, но мы хотим использовать шаблон хранилища на сервере и получить хорошее разделение проблем, не наследуя от EFContextProvider, что может вызвать проблемы с IoC и, возможно, модульное тестирование/издевательство. Мы следили за образцом кода Кэмпера Джона Папы на Pluralsight, который изначально излагался с использованием шаблона Respository/UoW без Breeze, который затем заставил нас взглянуть на шаблон Hot Towel, который включает Breeze.breezejs с репозиторием

Кто-нибудь знает, как Бриз можно абстрагировать в репозиторий, который хранит DbContext в чистоте (если используется Entity Framework) инкапсулирован. Кроме того, что произойдет, если вы не используете Entity Framework и предпочитаете использовать другой ORM, такой как nHibernate.

ответ

3

Спасибо за размещение здесь, как я уверен, что другие будут просить это :)

Если вы не используете EF, то вы выиграли; т получить автоматическое создание метаданных, Breeze предоставляет. Тем не менее, вы, конечно, можете абстрагировать контекст EF в репо и все еще получать преимущества.

Шаблон ASP.NET SPA Breeze/Knockout показывает, что репозиторий разбит. Я считаю, что есть образец для UoW где-то - он ускользает от меня, где. Я попросил людей бриза указать на это ответ.

Если вы используете nHibernate, автоматических метаданных нет - однако это отличный запрос функции, который я мог видеть для Breeze.

+0

Хороший ответ, Джон. Мы работаем над тем, чтобы упростить создание метаданных на сервере для * любой * CLR-модели. Должна описать его очень скоро ... как через неделю или две. – Ward

+0

Я добавил простой пример «UoW/Репозиторий и модель в отдельном проекте» к моему отставанию. Чтобы быстро его получить, он будет использовать EF ... потому что основное внимание уделяется разделению проблем, а не технологии доступа к данным как таковой. Читатель должен иметь возможность менять EF по желанию, как только мы продемонстрируем (в другом месте), как создавать метаданные для любой модели. – Ward

+0

Я очень рекомендую видео Скотта Аллена в репозитории и UOW в [Pluralsight Design Patterns course] (http: // multiplealsight. com/training/courses/TableOfContents? courseName = patterns-library) ... возможно, самое ясное, не жаргонное изложение этих шаблонов, которые я когда-либо видел. – Ward

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