lambda的新参数

时间:2011-11-26 00:28:49

标签: c# lambda

我是新手,有人可以告诉我这是如何工作的以及“mycode”中的内容,以便调用存储库吗?

public class MemberService : ServiceBase<IMemberModel>, IMemberService
{        
    public MemberViewModel GetSingle(Expression<Func<MemberViewModel, bool>> whereCondition)
    {
        mycode     
    }
}

public abstract class RepositoryBase<T> : IRepository<T>
{
    public T GetSingle(Expression<Func<T, bool>> whereCondition)
    {
       return ObjectSet.Where(whereCondition).FirstOrDefault();
    }
}

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要的可能是基于成员的lambda,而不是MemberViewModel。你的方法应该是这样的:

public MemberViewModel GetSingle( Expression<Func<Member,bool>> whereCondition )
{
    var member = this.MemberRepository.GetSingle( whereCondition );
    if (member != null)
    {
        return new MemberViewModel( member );
       // or however you map from member to its view model
    }
    return null;
}