To do an 'Update' we actually enddate the existing record to Now and then insert a new record with the new data. Were also using stored procs exclusivly for our CRUD.
Our table would look something like this:
-----------------ProductPrimaryIDProductIDProductNameEffectiveEndDate-----------------
The ProductPrimaryID would be unique for each record in the DB, and the ProductID would persist for each 'Updated' record. So given all this what's the best way to approach this via SF? An update in SF only returns an number for successful rows updated, I need to have it return the new ProductPrimaryID. I thought of calling my Update proc with save() and then refilling my BO with the newly added record. It's an extra trip to the DB but I think it should work.
Anyone else have any ideas or already have a more elegant way to fix this?
Thanks
The other option would be to create your own DbDataSourceItem class that would be used by just the business object(s) that need this functionality. You would inherit the OracleDataSourceItem class and override the CreateDbCommand() and UpdateRow() methods. On both of them, if the query is anything other than an UPDATE, just pass the command down to the base class, otherwise, handle it as needed. You can use the DataRowState.Modified portion of the UpdateRow() method as a template.