私はそよ風の世界に慣れていませんが、アプリケーションで使用したいと考えています。Northwind.sdf データベースに基づく単純な ASP.Net Api OData サービスでテストしてみました。
DataService プロジェクトには、単純なコントローラーがあります。
[BreezeController]
public class CategoriesController : ODataController
{
readonly EFContextProvider<NORTHWNDContext> contextProvider =
new EFContextProvider<NORTHWNDContext>();
[HttpGet]
[EnableBreezeQuery]
public IQueryable<Category> GetCategories()
{
return contextProvider.Context.Categories;
}
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return contextProvider.SaveChanges(saveBundle);
}
}
そして、私が呼び出すクライアントで:
breeze.config.initializeAdapterInstance("dataService", "webApiOData", false);
var manager = new breeze.EntityManager({
dataService: new breeze.DataService({
serviceName: "http://localhost:18384/",
hasServerMetadata: true,
adapterName: "webApiOData"
})
});
breeze.EntityQuery.from('Categories').using(manager).execute();
この方法でdatajs.jsファイルに問題が発生する
var dispatchHandler = function (handlerMethod, requestOrResponse, context) {
/// <summary>Dispatches an operation to handlers.</summary>
/// <param name="handlerMethod" type="String">Name of handler method to invoke.</param>
/// <param name="requestOrResponse" type="Object">request/response argument for delegated call.</param>
/// <param name="context" type="Object">context argument for delegated call.</param>
var i, len;
for (i = 0, len = handlers.length; i < len && !handlers[i][handlerMethod](requestOrResponse, context); i++) {
}
if (i === len) {
throw { message: "no handler for data" };
}
};
「データのハンドラーがありません」という例外が常にスローされますが、わかりません。のようなデフォルトの odata ハンドラーがすでにいくつかあります。
var handlers = [odata.jsonHandler, odata.atomHandler, odata.xmlHandler, odata.textHandler];
誰かがこの問題を手伝ってくれますか? ありがとう。