So this is all hypothetical and theoretical really.  This isn't a real system I'd have to architect, but its a good question.A company stores and reproduces contracts.  Contracts can have many documents associated with them.  There are up to 200 types of these documents that can be assigned to any single contract.That's basically it in a nutshell.  I don't want to write 200 classes and have 200 sql server tables in reference to each document type. Is there a more efficient solution to collect the contracts/documents in a database and then classify them in a C# web app to display?
What strategy should I employ using C# to solve this use case?
c#;web development;web applications;sql
As Niklas H wrote in a comment while I was typing this:You have one table for contracts.Then you have a table for documents including a foreign key to the contracts tables for the contract the document belongs to.You then have a document type table where your document types are. From your document table you have a foreign key to the document type table, so that you can store what type a document is.This will allow you to create new document types without having to create new classes. These document types will not be enums.You will need a dialog in your system where you can create new document types, they'll probably have a name and a description.When you enter a new document you select the document type from the list of existing document types.