forum

Home / DeveloperSection / Forums / Sorting using lamba expression

Sorting using lamba expression

Anonymous User 1962 26-Mar-2014

I am trying to Sort Users Using lambda Expression. My Users class

public class Users
{
        public long Id { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime DateCreated { get; set; }
}

And My Sorting method

public List<Users> SortUsers(string sSortBy)
{
    var arg = Expression.Parameter(typeof(Users), "Users");
    var body = Expression.Convert(Expression.Property(arg, sSortBy), typeof(object));
    var lambda = Expression.Lambda<Func<Users, object>>(body, arg);
    List<Users> UserList;
    UserList = UOWUser.UsersRepository.Entities.OrderBy(lambda).ToList(); // Error here
    return UserList;
}

I am Accessing the method by

List<Users> UserList;

UserList = objUsers.SortUsers("FirstName");

I am passing sSortBy as string (here "FirstName")

Error :Unable to cast the type 'System.String' to type 'System.Object'.

Comes in line UserList = UOWUser.UsersRepository.Entities.OrderBy(lambda).ToList();


c# c# 
Updated on 26-Mar-2014
I am a content writter !

Can you answer this question?


Answer

1 Answers

Liked By