>
>I think in this case you're right - as Rob pointed out, this code can easily create duplicates. You would have to have code on save which verifies that the new ID hasn't been used (and wrap it in some kind of locking mechanism anyway). I generally have a NewID() stored proc. I call through EF. It normally just grabs/stores an incrementing number but it's easy to modify if you run into cases where an operation could be cancelled (and this ID is "lost") but the business doesn't want missing #s in their sequence. It also cleanly handles the multi-update/locking issue.
>
>Definitely an interesting question from a C# perspective - I never would have expected the behavior differences between int/short.
Thanks for the feedback. At this point I'll bow out, don't want this to get heated. :)