In that in business logic layer, I have created a class like this:
public List SelectAllData() { try { return (from obj i
If you return RoleHasRight you need to construct it, not an anonymous type as you do now:
select new RoleHasRight { obj, role.roleName }).ToList();