我们目前有一个项目,我们将使用在WebApi中实现的标准RESTful接口。因此,不会有单个Breeze-Controller使用单个SaveChanges方法来处理所有CUD请求。相反,将有一个类型为Web Api实现的Controller,其中CRUD操作将由每个Controller处理。此外,我们考虑使用JSON Patch将所需数据发送到后端。
BreezeJs是否已经实施了适配器?在微风实验室中有一个抽象的实现,听起来像是正确的基类。但这应该是已经遇到的其他事情。是否有我们可以用于满足我们需求的示例或实现?
感谢您的帮助!
马克
答案 0 :(得分:0)
您远离唯一可以从此类适配器中受益的人。我一直想写这个话题......我觉得现在已经好几年了。奇怪的是,没有足够的人要求我把我推过驼峰。
您在Breeze Labs的AbstractRestDataServiceAdapter
处于正确的道路上。
我最近编写了一个派生适配器来完成你的想法...虽然我的目标是在ASP.NET 5中使用Web API(也就是MVC6)。看一下这个"mvc6-unicorn" adapter的灵感来源
它对修改后的实体使用POST,但您可以在b00_breeze.dataService.odata.js中的“OData”适配器中使用PATCH或MERGE。
else if (aspect.entityState.isModified()) {
...
request.method = "MERGE";
request.data = helper.unwrapChangedValues(entity, entityManager.metadataStore, transformValue);
} ...
请注意,JsonResultsAdapter
中JSON数据的客户端解释可以通过少量的服务器端Json.NET重新配置来实现,这与您在此{{3 (这是MVC6相当于 WebApiConfig )。
可悲的是,我不得不留下这些线索来制作适合您的解决方案。
完整的故事...我希望“很快”写出......属于我们的Breeze文档。
如果您遇到特定问题,请随时返回。