title: Domain Driven Design Auto Incremented Entity Key
body: <p>Just starting with Domain Driven Design and I've learned that you should keep your model in a valid state and when creating a new instance of a class it's recomended to put all required attributes as constructor parameters.</p>
  
  <p>But, when working with auto incremented keys I just have this new ID when I call an Add method from my persistent layer. If I instanciate my objects without a key, I think they will be in a invalid state because they need some sort of unique identifier.</p>
  
  <p>How should I implement my architecture in order to have my IDs before creating a new instance of my entity ? </p>