Getting return value from postgresql stored procedure
Posted: Mon 02 Jan 2012 22:18
Hi
I'm calling stored procedures in postgresql using entity framework.
The stored procedure signature is below:
CREATE OR REPLACE FUNCTION cbill.insert_service_order(p_service_order_id integer, p_product_order_id integer, p_milestone_id integer, p_service_type integer, p_transaction_type_id integer, p_user character varying, p_service_id integer, p_package_id integer, p_invoice_type_id integer,
p_costcentre_id integer, p_service_name character varying, p_contract_term integer)
RETURNS integer AS
If you notice it returns an integer.
I have mapped the model to call this stored procedure on the insert which generated the following in the "Create" method of my controller
[HttpPost]
public ActionResult Create(ServiceOrder serviceorder)
{
if (ModelState.IsValid)
{
db.ServiceOrders.AddObject(serviceorder);
db.SaveChanges();
return RedirectToAction("Index", "ServiceOrderAttribute", new
{
serviceOrderId = serviceorder.Id
});
}
How do i retrieve the returned integer from the function? I have tried serviceorder.Id after adding the object and saving changes, however that returns 0.
Note: I have set storedGenerated to "identity" as i'm generating the entity key value within the stored procedure.
Thanks
I'm calling stored procedures in postgresql using entity framework.
The stored procedure signature is below:
CREATE OR REPLACE FUNCTION cbill.insert_service_order(p_service_order_id integer, p_product_order_id integer, p_milestone_id integer, p_service_type integer, p_transaction_type_id integer, p_user character varying, p_service_id integer, p_package_id integer, p_invoice_type_id integer,
p_costcentre_id integer, p_service_name character varying, p_contract_term integer)
RETURNS integer AS
If you notice it returns an integer.
I have mapped the model to call this stored procedure on the insert which generated the following in the "Create" method of my controller
[HttpPost]
public ActionResult Create(ServiceOrder serviceorder)
{
if (ModelState.IsValid)
{
db.ServiceOrders.AddObject(serviceorder);
db.SaveChanges();
return RedirectToAction("Index", "ServiceOrderAttribute", new
{
serviceOrderId = serviceorder.Id
});
}
How do i retrieve the returned integer from the function? I have tried serviceorder.Id after adding the object and saving changes, however that returns 0.
Note: I have set storedGenerated to "identity" as i'm generating the entity key value within the stored procedure.
Thanks