我有以下代码,我在EF 4.1和工作单元中使用存储库模式。 但是因为我不太了解Expression和Predicates是如何工作的,所以我要问以下几点:
使用下面的代码,是否有更好的方法来查找所有行?
public ActionResult Index()
{
var positions = unitOfWork.PositionRepository
.Find(p => p.PositionID != null);
return View(positions.ToList());
}
我从这里开始使用我的UnitofWork和Repository http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
我试过了:
public virtual List<TEntity> GetAll()
{
return context.Set<TEntity>.ToList();
}
答案 0 :(得分:2)
如果你想要所有的行,你只需要在你的集合上调用它:
context.Positions.ToList();
因此,只需向您的存储库添加方法,即可显示此结果。
如果是通用(错误)存储库,请使用:
context.Set<Position>().ToList();