PKs are used to enforce referential integrity, which is a function of the DB...hence they should be generated there. Additionally, using an integer allows you to use a clustered index, which improves performance.
>I've been leaning towards using guids as the PK all the time. It certainly takes longer to generate, but as I also don't have SQL generating the PK, since it's sent in the update, the performance is distributed from the server to the clients - whatever they are.
>
>I'd like to hear your thoughts on that, if you can spare some time?
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer