我获得前N行的过程
从数据库中获取所有数据使用实体框架
var list = new MyDbContext().Set<EntityName>();
使用C#
获取前N行 var firstNRows = list.Take(N); // N = int
假设,
如果N = 2,那么我想要表格的前两行,但实体给我表格的所有行。有没有办法让实体只从表中给出前N行而不是表中的所有数据?
答案 0 :(得分:2)
实际上var list = new MyDbContext().Set<EntityName>();
根本没有数据,它返回IQueryable<EntityName>
,它只是所有行查询的表示。
当你var firstNRows = list.Take(N);
也没有数据时,那也是IQueryable<EntityName>
,它代表了数据库中前N行的查询。
在执行类似.ToList()
var firstNRowsList = firstNRows.ToList(); //The database is queried here for the first time.