In my opinion, your primary key should not be something
the user has control over.
Let them enter a key that they want for reference, but the
primary key should be auto-generated for them and not exposed
in any way.
Just my 2 cents.
Everything makes sense in someone's mind
public class SystemCrasher :ICrashable
In addition, an integer field is not for irrational people