title: LINQ2SQL entity constructor constraints
body: <p>L2SQL generates entities with a default a parameterless constructor. This CANNOT be changed as it is needed to materialise the object.</p>
  
  <p>However, if my object can only be created with certain values initialised how would I go about hiding the parameterless constructor so that a consumer only sees a constructor with parameters?</p>
  
  <p><strong>1)</strong> I can create another partial class of the same name and add my new constructor there but the consumer now simply has two options to create an instance of my class. The parameterless constructor is still visible.</p>
  
  <p><strong>2)</strong> Use interfaces. It is not possible to create an interface that defines constructors. </p>
  
  <p>How do people approach this as it looks like an issue that would occur a lot.</p>