Стек:
- ASP MVC4 Beta
- Веб-API
- Knockout.js
- Upshot.js
У меня есть сценарий мастер-детали.В основной части я редактирую заказ, а в части деталей - продукты заказов.Я могу перечислить все продукты, которые у меня есть, и это прекрасно работает, но теперь мне нужно отобразить мастер и детали.
Это мой метод веб-API:
public Order GetSingleOrder(long orderId)
{
return DbContext.Orders
.Include("OrderedProducts")
.Include("OrderedProducts.Product")
.Include("OrderedProducts.Product.Family")
.Single(o => o.OrderId == orderId);
}
Это хорошо работает,он возвращает только один заказ с продуктами и его информацией.
Но в viewModel я не могу получить это как один заказ, исходный источник данных предоставляет только метод с именем getEntities()
и не может получить его элементы.
var CreateOrEditViewModel = function () {
var self = this;
self.dsOrder = upshot.dataSources.SingleOrder.refresh();
self.orders = self.dsOrder.getEntities();
self.order = self.orders()[0];
};
кажется, что он загружен лениво, и во время вызова getEntities()
у него нет элементов, а self.orders()
возвращает пустой сбор.
Обновление: Мне нужен способ получить один заказ, привязаться к нему, позволить пользователю обновить его поля и сохранить его через источник данных.