Derek, there was a UT thread about "change tracking" using NET a few months ago. Not everybody bothers with these issues(!) but for those who do, you can use Semaphore locking as described here, or you can use an update mechanism that only alters fields that a user has actually changed. This means that if two users are (for example) changing the address and next of kin of the same record at the same time, both saves will proceed and neither editor is required to decide whose changes are best. Kevin Goff has provided a Stored Procedure that can handle this:
http://www.thebakersdozen.net/ . The post you want is on 13 June.
IMHO it would be smart to build both semaphore and change tracking abilities into your data classes. There are reasons to use both and little benefit in confining yourself to just one option IMHO.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1