Can't get AFTER INSERT trigger to fire after SaveChanges() was done. Using T-SQL with ExecuteStoreCommand() doesn't help. All triggers are fired on the server, but not from the Entity Framework.
What I am doing: I create a new row in parent table:
ORDERS order = new ORDERS
{
GUID = Guid.NewGuid().ToString(),
ORDERDATE = DateTime.Now,
};
DB.AddToORDERS(order);
DB.SaveChanges();
And finally I put some data to the child table where the trigger must be fired after insert:
foreach (SPAREPART item in SOMECOLLECTION)
{
ORDERITEMS orderitem = new ORDERITEMS
{
ORDER_ID = order.ORDER_ID, //here order.ORDER_ID is 0, but why?
PRICE = item.INCOME_PRICE
};
DB.ORDERITEMS.AddObject(orderitem);
DB.SaveChanges();
}
The trigger simply updates parent table:
AS
begin
UPDATE ORDERS o SET o.sum = o.sum + NEW.price WHERE o.order_id = NEW.order_id;
end
Also I can't get the increased order.ORDER_ID generated by firebird generator, it is always 0 after SaveChanges() was done.
My DB schema is generated out of FireBird database.