Holy crap.. longest class ever! I've never seen so many properties and methods.. that's a little intimidating.
All of my tables have PKs, but I did auto generate because that's what we always did in school. How would I set the PK myself? I mean.. I know I can use any column I want for the PK. But To always ensure that it's unique, I would have to have the user put in something every time they added a device? There must be something else you're talking about, because that is NOT a good idea LOL.