asp.net-mvc – Asp.net Mvc 2:存储库,分页和过滤如何?
将过滤器对象传递给存储库是有意义的,因此它可以限制返回的记录:
var myFilterObject = myFilterFactory.GetBlank(); myFilterObject.AddFilter( new Filter { "transmission","eq","Automatic"} ); var myCars = myRepository.GetCars(myfilterObject); 关键问题:你将如何实现分页?有关如何从存储库返回LazyList的任何链接都将在此处应用?这会成为过滤器对象的一部分吗?就像是: myFilterObject.AddFilter( new Filter { "StartAtRecord","45"} ); myFilterObject.AddFilter( new Filter { "GetQuantity","15"} ); var myCars = myRepository.GetCars(myfilterObject); 我假设存储库必须实现过滤,否则您将获得所有记录. 解决方法
我在服务层实现了分页/排序.我想有些人不同意这一点,但它对我来说很有用.确保您的存储库返回IQueryable.
public class ProductService { private IRepository<Product> Products {get; set;} 如何返回LazyList / IQueryable取决于您使用的ORM.我只熟悉NHibernate(使用Linq到NHibernate)和Linq2Sql. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 在MVC 3视图模型上使用Editable属性
- asp.net – 如何实时压缩和流量到Response.Output实时?
- asp.net-mvc-3 – 如何正确覆盖EF 4.1中的SaveChanges函数
- asp.net – C#:GDI:使用位图的保存方法过度写入图像
- ASP.Net Response.Redirect不能在Application_Error中工作?
- asp.net-web-api – Web API 2 OWIN承载令牌认证 – Access
- asp.net – 如何解决ASP .Net中的“这是一个无效的webresou
- 使用asp.net mvc中的Ajax将文件和文本上传到服务器
- .net – 提供“添加到日历”链接
- IIS 7.5应用程序初始化ASP.NET Web服务(预热),而不重新映射