使用谓词查找所有行?
我有以下代码,我使用 EF 4.1 和工作单元中的存储库模式。 但是,因为我不太了解表达式和谓词的工作原理,所以我问以下问题:
使用下面的代码,是否有更好的方法来查找所有行?
public ActionResult Index()
{
var positions = unitOfWork.PositionRepository
.Find(p => p.PositionID != null);
return View(positions.ToList());
}
我的工作单元和存储库基于这里 http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application< /a>
我尝试过这个:
public virtual List<TEntity> GetAll()
{
return context.Set<TEntity>.ToList();
}
I have the following code, I am using the repository pattern in EF 4.1 and Unit of Work.
However because I dont understand very much how Expression and Predicates works I ask the following:
With the code below, is there a better way to find all rows?
public ActionResult Index()
{
var positions = unitOfWork.PositionRepository
.Find(p => p.PositionID != null);
return View(positions.ToList());
}
I based my UnitofWork and Repository from here
http://www.asp.net/entity-framework/tutorials/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application
I tried this:
public virtual List<TEntity> GetAll()
{
return context.Set<TEntity>.ToList();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您想要所有行,您只需在集合上调用此方法即可:
因此只需将方法添加到您的存储库中即可公开此结果。
如果是通用(错误)存储库,请使用以下命令:
If you want all rows you simply have to call this on your set:
So simply add method to your repository exposing this result.
In case of generic (wrong) repository use this: