Sample to access Breeze Sql stored procedures; storage procedure (GoStoCde) was imported by EF.
Breeze controller:
[HttpGet] public object GetCdes(long jprod, int jqte, long jorder) { //output params var owrk = new System.Data.Objects.ObjectParameter("wkres", typeof(string)); owrk.Value = ""; var oeror = new System.Data.Objects.ObjectParameter("ceror", typeof(int)); oeror.Value = 0; //invoke stored procedure var envocde = _contextProvider.Context.GoStoCde(jprod, jqte, jorder, owrk, oeror); //stored procedure results var cdeResult = new { dwork = owrk.Value, deror = oeror.Value, }; return new { cdeResult }; }
Datacontext:
function reqLnecde(iprod, iqte, iorder, vxeror) { logger.log("commande en cours..."); var query = new EntityQuery.from("GetCdes") .withParameters({ jprod: iprod, jqte: iqte, jorder: iorder }); return manager .executeQuery(query) .then(querySucceeded) .fail(cqueryFailed); function querySucceeded(data) { //stored procedure results vxeror(data.results[0]); //stored procedure object member value keror = vxeror().cdeResult.deror; if (keror === 0) { logger.log("commande done"); } else { logger.log("article absent"); } } function queryFailed(data) { logger.log("commande failed"); //server errors } }
If you prefer to return an object instead of an object, then the code and it should work as well. Hope this helps!
source share