I need some advice regarding repository pattern. Let's assume i have `UserBal` which stands for business logic which uses `UserRepositoryDal` where all database logic for that entity stands (queries to table `T_Users`) . In my database i have table `T_Users`. There is also table `T_UserTypes`. In `T_User` table there is relation to `T_UserTypes` so means every user has his own user type. In my applciation i've created:

    UserBal - for business logic and uses UserRepositoryDal
    UserRepositoryDal - all database logic to get data for 'T_Users'

Repository have common functionality like: `GetAll(), Insert etc..`

My entites are:

    public class User
    {
         public int Id { get; set; }
         public string Name{ get; set; }
         public int FK_UserType { get; set; }
    }
    
    public class UserType
    {
         public int Id { get; set; }
         public string Name{ get; set; }
    }

I am not sure at this point whether should i create also repository for table `T_UserTypes` like: `UserTypeRepositoryDal` and for business logic `UserTypeBal` which would use `UserTypeRepositoryDal` ?

or should i just modify my User class instead of: 
public int FK_UserType { get; set; } 
change to:
public UserType UserType { get; set; }

so there would not be `UserTypeBal` and `UserTypeRepositoryDal` at all

Nevertheless when in application i would like to get list of `UserType` for instance for combobox control or whatever i would not have `UserTypeRepositoryDal` with `GetAll()` so where should i put logic for `UserTypes` GetAll(). Should it be in `UserRepositoryDal`?

If something unclear let me know. Thanks for answers.