我正在我的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
我喜欢为所有实体使用一个存储库的想法。我正在努力实现一个通用方法来为我的列表框返回选择列表项。
这是我在存储库中的方法。
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??
你可以尝试做一些这样的想法
People = unitOfWork.Repository.GetSelectListName (e => new SelectListItem({Text= string.Format("{0} {1})", e.LName, e.FName), Value=e.PersonID});