我正在使用实体框架、ASP.NET Web API,并且有一个 WinForm 客户端将其数据发送到服务器或接收。
我知道如何获取一条记录以及如何一次获取一组记录,但可能有很多记录可能会导致问题。那么如何才能在客户端一一获取新信息的集合呢?
我想我可以先得到一个新 ID 的列表,然后一个一个地得到它们。有更好的方法吗?
有关实施此操作的任何信息都将很有用。
编辑:要清楚,我的意思是从客户端机器中的服务器而不是从数据库中的服务器中获取信息集合:)
我正在使用实体框架、ASP.NET Web API,并且有一个 WinForm 客户端将其数据发送到服务器或接收。
我知道如何获取一条记录以及如何一次获取一组记录,但可能有很多记录可能会导致问题。那么如何才能在客户端一一获取新信息的集合呢?
我想我可以先得到一个新 ID 的列表,然后一个一个地得到它们。有更好的方法吗?
有关实施此操作的任何信息都将很有用。
编辑:要清楚,我的意思是从客户端机器中的服务器而不是从数据库中的服务器中获取信息集合:)
分页就是答案。下面是使用 Entity Framework 和 MVC 使用 Skip and Take 进行分页的一个很好的链接。您基本上指定起始索引(或“跳过”),然后指定要获取(或“获取”)的记录数。像这样:
context.YOURDBSET.Skip(0).Take(10); //Gets the first 10.
context.YOURDBSET.Skip(10).Take(10); //Gets the next 10.
context.YOURDBSET.Skip(20).Take(10); //Gets the next 10.
等等等等等等
这是该链接:http: //msdn.microsoft.com/en-us/magazine/gg650669.aspx
解决此问题的一种非常常见的方法是创建某种形式的分页。例如,第一次,只需从服务器获取前 50 条记录。然后根据某些条件(可能是用户触发,或根据时间自动,取决于您的应用程序)获取下一组数据,记录 51 - 100。
您可以通过触发获取各种数据页面的方式获得创意。例如,如果您需要以这种方式显示数据,您可以根据用户滚动鼠标滚轮来触发数据检索。最终这取决于你的情况,但我相信分页是答案。
您的页面大小可以是 5 条记录,也可以是 500 条记录,但思路是一样的。