В зависимости от того, что именно вам нужно сделать, Breeze js может быть лучшим решением.в частности, если вы используете EF, вы можете реплицировать большую часть функциональности серверного EF DbContext
на стороне клиента, включая, конечно, проверку, но также отслеживание изменений, .saveChanges
, простой синтаксис, который напоминаетLINQ-запросы, кэширование, сериализация и десериализация, позволяющие работать в автономном режиме, и многое другое.
Основные шаги для работы с Breeze js:
- создание модели EF на сервере
- добавить пакет NuGet на сервер, чтобы создать службы Web API, которые предоставляют модель клиентской стороне.Это сделано с удивительно низким количеством кода C #.Одна из вещей, которую это делает, - это предоставление метаданных: определение объектов, отношений и дополнительная информация, такая как информация о проверке аннотаций данных
- добавляет пакет Nuget js для клиентской стороны, который будет использоваться для репликации EFповедение на стороне клиента.
Конечно, не все функции на сервере будут реплицироваться на клиенте, но вы можете сделать много вещей:
- создавать новые объекты на стороне клиента
- создавать запросы на стороне клиента, которые будут выполняться на сервере и возвращаться клиенту
- изменять объекты на клиенте: создавать, изменять, удалять...
- создание отношений на стороне клиента: например, создание новых сущностей chlid в родительском объекте
- вызов
saveChanges
на стороне клиента, который будет передавать все отслеженные изменения всервер, так что бэкэнд обновляется - , конечно, пока вы делаете это, вы получите автоматическую проверку клиента, а также дополнительный серверпроверка всякий раз, когда вы вызываете
.saveChanges
Наконец, вы можете расширить и изменить код сервера, включив в него некоторую бизнес-логику, так что вы можете сделать гораздо больше, чем просто представить клиенту модель EF.