title: Complex issue with Polymorphism in C#
body: <p><img src="https://i.stack.imgur.com/fv410.png" alt="Class Diagram"></p>
  
  <p>I’m building an application that allows the manufacturer to enter the specification of the car. Now, let’s say that I enter the name of the car (stored in Car table), *type of the engine (stored in the table specified for that type of the engine)</p>
  
  <p><strong>*Note:</strong> each engine must be stored in a separate table since the structure of engine tables is different. For instance, if the engine of the car is 4 Cyl, it must be stored in 4 Cyl table.</p>
  
  <p>In the application, there is a feature that allows the manufacturer to go back and modify/view the car specification. In this feature, when he/she clicks “view car”, the 4 Cyl car shows up with its own specification, 6 Cyl car with its own specification, and so on. Now, the issue is when I retrieve the data, how can I assign the correct engine object to each car. </p>
  
  <p>Can I use any design pattern to solve this issue? </p>