我在数据库的联系人表中有大约 100 万条记录,现在我只需要获取 30 条记录。如何使以下查询更有效:
获取联系人方法
private IQueryable<Contact> GetContacts()
{
return this.Query().Where(c => c.ActiveEmployer== true); // here ' this ' is the current service context
}
刚接触
var contactlist = GetContacts(); // this will get all records from db
var finalcontacts = contactlist.Skip(0).Take(30).Fetch(c.Roles).Fetch(c.SalaryInfo).ThenFetch(c.Employer);
但是这个查询有时需要将近 10 秒或更长时间,并且将来我可以拥有 30 到 4000 万个联系人,那我该怎么办?