使用谓词查找所有行?

时间:2011-10-17 08:14:59

标签: entity-framework entity-framework-4 entity-framework-4.1

我有以下代码,我在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();
        }

1 个答案:

答案 0 :(得分:2)

如果你想要所有的行,你只需要在你的集合上调用它:

context.Positions.ToList();

因此,只需向您的存储库添加方法,即可显示此结果。

如果是通用(错误)存储库,请使用:

context.Set<Position>().ToList();