我必须设计一个API或一组API,用于从SQL Server Table读取批量数据,我需要按日期和其他参数获取数据。现在我不想要N no的列表。 API中的方法是无限期的,并且会根据用户需求不断增加。
那我应该如何设计呢。
答案 0 :(得分:1)
我会考虑使用WCF数据服务和OData,以便您的方法可以接受“线上SQL”请求。这为您提供了一个可以接受过滤条件的URL,例如
// Products表中的所有数据(在服务器端启用分页!)
http://localhost/Products
//添加WHERE子句
http://localhost/Products?$filter=Category eq 'Toys'
//选择列的子集
http://localhost/Products?$select=ToyName,ToyPrice
您还可以使用ASP.NET Web API项目类型并启用OData支持,但URL功能稍受限制。
话虽如此,我认为使用Web服务进行批量数据操作是不寻常的,因为数据序列化涉及的开销以及数据包必须通过HTTP分割的方式。这取决于你的数据笨重的真实程度。