title: Why is it a bad practice to return DataTables from WCF service operations?
body: <p>I know that the preferred way to serialize complex types in WCF is by using DataContracts but why is it so?</p>
  
  <p>If I return a DataTable instead of a DataContract from my service operations does WCF use the XmlSerializer class instead of the default DataContractSerializer?</p>
  
  <p>And lastly, in this topic: <a href="https://stackoverflow.com/questions/5742997/datatable-not-accepted-by-svcutil-wcf-service">DataTable not accepted by svcutil - WCF Service</a></p>
  
  <p>Do you think that the problem is that by returning a DataTable the CLR types don't map correctly to XSD schema definitions?</p>