实体框架通用存储库SelectListItem

时间:2014-02-13 22:52:00

标签: asp.net-mvc repository-design

我正在我的MVC项目中实现通用存储库模式,并遵循本教程。 http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

我喜欢为所有实体使用一个存储库的想法。 我正在努力实现一个泛型方法来为我的ListBoxFor返回一个SelectListItem。

这是我在存储库中的方法。

 public virtual IEnumerable<SelectListItem> GetSelectListName(Expression<Func<TEntity, SelectListItem>> select)
    {
        IQueryable<TEntity> query = dbSet;
        return query.Select(select);
        //return dbSet.ToList().Select(s => new SelectListItem
        //{
        //    Text = s.LName + ", " + s.FName,
        //    Value = s.PersonID.ToString()
        //});
    }

正如你所看到的,我想连接人名和姓。我现在正在努力,因为我不确定这是否是最好的方法。

 People = unitOfWork.Repository.GetSelectListName(e => e.LName);//not sure here??

1 个答案:

答案 0 :(得分:0)

你可以尝试做那样的事情

People = unitOfWork.Repository.GetSelectListName (e => new SelectListItem({Text= string.Format("{0} {1})", e.LName, e.FName), Value=e.PersonID});
相关问题