I have a class Record that works fine:
public class Record
{
protected string table;
protected string idcolumn;
public Record(string _t
You'll have to convert into a new object, rather than cast it. To do this without writing the mapping code one property at a time, the easiest way would be to serialize the Record object, then deserialize it as an Order. You can use whatever serialization technique you like (XmlSerializer, JavaScriptSerializer, JSON.NET, etc.).
This assumes that all the data is accessible in public properties with plain getters/setters (which you don't in your example, but you should do). If you don't want to do that, you can use reflection to loop through the fields of Record, getting the values from there, and using reflection to populate the fields of Order.