public class User{
private int userId;
private UserStatus status;
private string userName;
public int UserId{ get { return userId; } set {userId = value}}
public UserStatus Status{ get { return status; } set {status= value}}
public string UserName{ get { return userName; } set {value= value}}
public User(){}
...
}
your DAL:
public User GetUserById(int userId){
SqlConnection connection ...
SqlCommand command ...
command.Parameters.Add ...
try{
conn.open()
SqlDataReader dr = command.ExecuteReader(SingleRow);
User u = null;
if (dr.Read()){
u = PopulateUserFromIDataRecord(dr);
}
dr.close();
return u;
catch{...}finally{ CLEANUP }
}
public static User PopulateUserFromIDataRecord(IDataRecord dr){
User u = new User();
u.UserId = Convert.ToInt32(dr["userId"], CultureInfo.InvariantCulture);
u.Status = (UserStatus)Convert.ToInt32(dr["status"],
CultureInfo.InvariantCulture);
u.UserName= Convert.ToString(dr["username"], CultureInfo.CurrentCulture);
return u;
}
You could/should also create a UserCollection for when you want to deal with
more than 1 user...
Alternatively, you can do O/R mapping (
http://www.ormapper.net/)
Karl