KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to figure out the cleanest way to do this. Currently I have a customer object: public class Customer { public int Id {get;set;} public string name {get;set;} public List<Email> emailCollection {get;set} public Customer(int id) { this.emailCollection = getEmails(id); } } Then my Email object is also pretty basic. public class Email { private int index; public string emailAddress{get;set;} public int emailType{get;set;} public Email(...){...} public static List<Email> getEmails(int id) { return DataAccessLayer.getCustomerEmailsByID(id); } } The DataAccessLayer currently connects to the data base, and uses a SqlDataReader to iterate over the result set and creates new Email objects and adds them to a List which it returns when done. So where and how can I improve upon this? Should I have my DataAccessLayer instead return a DataTable and leave it up to the Email object to parse and return a List back to the Customer? I guess "Factory" is probably the wrong word, but should I have another type of EmailFactory which takes a DataTable from the DataAccessLayer and returns a List to the Email object? I guess that kind of sounds redundant... Is this even proper practice to have my Email.getEmails(id) as a static method? I might just be throwing myself off by trying to find and apply the best "pattern" to what would normally be a simple task. Thanks. Follow up I created a working example where my Domain/Business object extracts a customer record by id from an existing database. The xml mapping files in nhibernate are really neat. After I followed a tutorial to setup the sessions and repository factories, pulling database records was pretty straight forward. However, I've noticed a huge performance hit. My original method c
Tags (comma-separated)
Save Edits
Cancel