OMG today. another endless opinion argument.
Same Xml guy: Oh whenever i do an db save, i reload all my data from the DB, and return that.
Me: why will you do that? there are no errors, no exceptions, why will u do another call to the DB, when no errors where detected during the save operation.
Same Xml guy: Oh just to be sure, What if the database now takes the data and manipulates it on a trigger, then resaves it.
Me: that is why i dont put busines logic into the database. Besides No ORM out there does a load after doing an inster/update, they just return the object, minus properties that are changed on the DB such as identities.
Same Xml guy: THat si not true, you dont know all of them.
Me, true, i know Entity framework, and Entity framework, does not do a select after doing an insert/update. That is just extra work for nothing.
Same Xml guy: What if you have two separate applications where one modifies the other data. But after the operation have been defined as a read only operation, THEN the second application now starts changing your data without telling the first application., Don't you want that?
Me: no, if an operation has been defined as read only, then after that unilaterally the receiving side decides to change the data and send it back, the first application must be explicitly changed. It cant just take the data. An application has to be responsible for its own data, and don't rely on other applications for changes on it. If they do rely on others then it must be explicit. Imagine if I have an object with Address properties, now the second application combines address line 1 and address line 2, into 1. As far as the first application is concerned, that change should not affect the data on application 1, and if the change is OK, then app 1 must be now changed.
Same Xml guy: well its just a matter of opinion.
Me: Ok. find me an orm that does that. until then Im going with EF and microsoft opinion on this one.