Подтвердить что ты не робот

Использование Breeze.js без платформы Entity Framework

Мы пытаемся разработать SPA, используя похожие методы и технологии, такие как курсы John Papa Pluralsight (например, Web API, нокаут, jquery и т.д.). Однако, как компания, мы решили не использовать Entity Framework. Мы хотим написать наш серверный слой данных, используя стандартный ADO.NET.

Теперь мы пытаемся интегрировать Breeze в наше решение. Однако, хотя веб-сайт Breeze говорит, что они не привязаны к Microsoft, кажется, что если вы не используете EF, вы окажетесь в долгом и болезненном путешествии с Breeze.

Мы попытались оценить пример NoDB Breeze, но эта вещь очень сложная и трудно понятная (а также выяснить, как ее реализовать в стандартной многоуровневой архитектуре на стороне сервера - все, кажется, тесно связано и просто поместите в папку "Модели" проекта MVC/Web API).

Итак, мои вопросы:

- Является ли Breeze неправильным выбором для клиентской библиотеки данных, если вы не используете EF?

- Если Breeze можно легко сделать, чтобы не использовать EF и использовать только прямой ADO.NET на стороне сервера, есть ли лучший пример или документация, показывающая, как это сделать?

- Учитывая, что наша реализация SPA очень похожа на арку John Papa SPA с дюрандалом, нокаутом, веб-API и т.д., за исключением (опять же), что мы не используем EF, лучший выбор для нас, чем Breeze?

- И тогда есть SignalR... Мы планируем внедрить SignalR позже, а Бриз даже работает с SignalR?

Спасибо!

4b9b3361

Ответ 1

На SO.com есть много более конкретных примеров, но я хочу рассмотреть несколько ключевых вопросов -

Мы попытались оценить пример NoDB Breeze, но эта вещь очень замысловато и трудно понять (а также выяснить, как реализовать его в стандартной многоуровневой архитектуре на стороне сервера - все кажется тесно связанным и просто помещается в Модели папке проекта MVC/Web API).

В зависимости от того, какой тип базы данных вы используете, доступно несколько других образцов, а также инструкции по использованию StackOverflow и Breeze. Я мог бы перечислить их здесь, но если вы добавили, какую базу данных вы собираетесь использовать, может быть немного легче обеспечить лучший ответ.

Неправильный выбор Breeze для клиентской библиотеки данных, если вы не используя EF?

Бриз - отличный выбор, вне зависимости от того, какого типа вы используете. В зависимости от того, какие другие технологии вы используете, действительно существуют различные уровни сложности, но, как только вы получите от вас зависание, вы оглядитесь назад и посмеетесь над тем, насколько это проще, чем вручную создать свою собственную библиотеку данных. Вот отличный пример бесплатной информации, которая поможет вам понять, как использовать различные технологии - Почему мои объекты Breeze.js не создают ko.observables?

Если Breeze можно легко сделать, чтобы не использовать EF и использовать только прямые ADO.NET на стороне сервера, есть ли лучший пример или документация как это сделать?

Я бы просмотрел некоторые другие доступные образцы, в зависимости от того, какие технологии вы пытаетесь использовать. Вот несколько примеров, которые не используют EF -

Zza - http://www.breezejs.com/samples/zza

  • Angular, MongoDb, Node

Эдмундс - http://www.breezejs.com/samples/edmunds

  • Angular без базы данных, просто потребление API

В большинстве случаев вы обнаружите, что вам нужно всего лишь использовать toType в своих запросах для создания сущностей из вашего запроса. Иногда вам нужно больше углубляться, но опять же это зависит от технологий.

Учитывая, что наша реализация SPA очень напоминает John Papa SPA арка с дюрандалом, нокаутом, веб-API и т.д., кроме (опять же) мы не используя EF, есть ли лучший выбор для нас, чем Бриз?

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

И вот там SignalR... Мы планируем позже реализовать SignalR, Бриз даже работает с SignalR?

Обновлено с предложением Ward - SignalR и Breeze, как представляется, будут служить различным целям для вашего приложения. Я думаю, было бы разумно увидеть, будет ли ваше приложение работать с SignalR больше, чем если бы Бриз, из-за их различных проблем.