KelMan, σε ευχαριστώ πολύ για την απάντηση. Η μέθοδος που προτείνεις (την είχα δει παλαιότερα αλλά δεν την θυμόμουνα - γιατί δεν την είχα χρησιμοποιήσει) είναι πράγματι αυτό που έψαχνα.
Επίσης τα ORMs που αναφέρεις είναι πράγματι πολύ πολύ ενδιαφέροντα. Θα κοιτάξω αναλυτικότερα πως λειτουργούν και πώς θα μπορούσα να τα χρησιμοποιήσω.
Είδα κάπως βιαστικά το NHibernate μιας και ήταν το πρώτο open source που βρήκα κάνοντας μια αναζήτηση. Αναρωτιέμαι για θέματα σχετικά με τις επιδόσεις που έχει μια εφαρμογή με ORMs καθώς και το κατά πόσο μπορείς να εκτελέσεις πολύπλοκα queries. Δηλαδή ανησυχώ πως θα αντικαταστήσω πολύπλοκα stored procedures ή inline queries. Βέβαια θα έπρεπε πρώτα να το ψάξω περισσότερο πριν ρωτήσω κάτι τόσο γενικό αλλά μιας και έχεις ασχοληθεί πολύ με αυτά ίσως θα μπορούσες να μου δώσεις μερικές απαντήσεις.
Επίσης μια ακόμη ερώτηση: Παραθέτω από το documentation του NHibernate το εξής:
IList cats = session.CreateSQLQuery(
"SELECT {cat}.ID AS {cat.Id}, {cat}.SEX AS {cat.Sex}, " +
"{cat}.MATE AS {cat.Mate}, {cat}.SUBCLASS AS {cat.class}, ... " +
"FROM CAT {cat} WHERE ROWNUM<10",
"cat",
typeof(Cat)
).List()
Νόμιζα ότι σκοπός μας είναι να ξεχωρίσουμε το DB layer από το UI. Τώρα βλέπω μια νέα τεχνική, object oriented, αλλά πάλι βλέπω queries μέσα στον κώδικα... Έχω μπερδευτεί... Τι πρέπει να κάνουμε τελικά; Τι είναι το σωστό;
Ευχαριστώ πολύ :-)
Σύνταξη στα 18,
Στράτευση στα 100.