Я думаю, что вам лучше использовать ORM - LINQ to SQL, LINQ to Entities, LINQ to nHibernate - вместо того, чтобы заново изобретать все это. По сути, то, что вы спрашиваете совета по выполнению, уже было сделано для вас в этих рамках / технологиях. Мой совет - потратить некоторое время на изучение уже существующих инструментов и применить свою творческую энергию для повышения ценности своего приложения, используя уже разработанные инструменты для повседневной работы. Если, конечно, вы не собираетесь внедрять ORM, потому что существующие не соответствуют вашим потребностям. Я подозреваю, что это не так, иначе вы бы уже знали, как использовать рефлексию, чтобы делать то, что вы просите.