Καταρχήν, αυτό που ζητάς γίνεται ήδη με το Linq to SQL, το Entity Framework ή κάποιο άλλο ORM. Από εκεί και πέρα, μπορείς να χρησιμοποιήσεις Reflection για να βρεις τα members ενός τύπου, τα attributes που περιέχουν κλπ. Αυτο γίνεται με την Type.GetProperties, Type.GetMembers και τις άλλες μεθόδους του Type class. H GetProperties θα σου επιστρέψει μία λίστα από PropertyInfo αντικείμενα τα οποία αντιπροσωπεύουν τα properties ενός τύπου. Την τιμή του Property τη βρίσκεις με την PropertyInfo.GetValue και τη θέτεις με την PropertyInfo.SetValue.
Έχε υπόψη όμως ότι το Reflection αργεί. Είναι πολύ γρηγορότερο να δουλεύεις με ένα property απευθείας παρά μέσω Reflection. Γι αυτό και τα ORMs δεν χρησιμοποιούν reflection αλλά mappings ή code generation για να δημιουργήσουν κλάσεις παρά να τις γεμίσουν από ένα πίνακα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos