im работает с breezejs, а серверный код моего приложения - .net.Проблемы с breezejs с пакетом сохранения
в моих представлениях (на стороне клиента), я хочу добавить и сущность, то я хочу ее сохранить. Давайте предположим, что объект, как это:
{
"Id": 1,
"Name": "someName",
"CreatedDate": "1900-01-01T05:00:00Z",
"UpdatedDate": "1900-01-01T05:00:00Z",
"CreatedBy": null,
"UpdatedBy": null,
"RowVersion": 0,
etc ...
}
}
я хочу, чтобы установить значения CreatedDate
UpdatedDate
CreatedBy
и UpdatedBy
, я могу сделать это с помощью JavaScript, конечно, но я не хочу, чтобы клиент заботиться о тех рода вещей.
мой контроллер ветер, где живет эта функция выглядит так:
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return _contextProvider.SaveChanges(saveBundle);
}
, как и можно видеть saveBundle является JObject, когда я отладки я вижу saveBundle так:
{
"entities": [
{
"Id": 1,
"Name": "someName",
"CreatedDate": "1900-01-01T05:00:00Z",
"UpdatedDate": "1900-01-01T05:00:00Z",
"CreatedBy": null,
"UpdatedBy": null,
"RowVersion": 0,
etc ...
}
}
}
],
"saveOptions": {}
}
Как могу ли я изменить значения CreatedDate
UpdatedDate
CreatedBy
и UpdatedBy
в saveBundle перед сохранением? ???
это JObject с массивом объектов как proprety, я могу манипулировать Json с помощью javascript, как я могу это сделать с .Net ???
Большое спасибо.
Вы должны отметить это как ответ, верно? –
Я бегала с той же проблемой, и везде я вижу ответ «BeforeSaveEntities». Я сомневаюсь, что это представляет проблему уровня проекта, потому что мы вынуждены делать все манипуляции на уровне бизнеса внутри DataContextProvider, что в идеале должно быть сделано внутри репозитория. Что делать, если у нас есть 10 таких объектов для изменения до сохранения? Будем ли мы использовать swich-case для проверки типа сущности и внесения изменений? Какова наилучшая практика, которой мы можем следовать? – devC
Обратите внимание, что вам также необходимо обновить OriginalValuesMap при изменении Entity, например. entityInfo.OriginalValuesMap ["UpdDate"] = null; Подробнее здесь -> http://breeze.github.io/doc-net/contextprovider.html#OriginalValuesMap – JSancho