2010-12-08 75 views
0

我想擁有一個使Azure表存儲可查詢的ODATA服務,但我不想強制客戶端創建引用PartitionKeys和RowKeys的查詢。需要怎麼做才能創建一個OData服務可URI查詢,如AZURE表存儲,ODATA和更友好的URI查詢

http://MyService.svc/Blogs(‘CustomerId’)?startdate eq’12/01/2010’&enddate eq’12/15/2010’ 

轉換成表格的存儲查詢,如:

var rowKeyStart = startdate;  
var rowKeyEnd = enddate;  
var query = ctx.SomeBlogsTable.Where(p => p.PartitionKey == ‘CustomerId’ && 
      p.RowKey.CompareTo(rowKeyStart) <= 0 && 
      p.RowKey.CompareTo(rowKeyEnd) >= 0).Take(1000); 

如果可以這樣做,它有釋放的優勢客戶端必須在創建查詢時瞭解Partitionkeys或Rowkeys。但是可以做到嗎?必須使用自定義數據服務提供者來完成嗎?這樣的提供者必須執行什麼編碼來執行這種URI來查詢翻譯?

回答

1

如果您擁有帳戶密鑰和名稱,則可以查詢Azure表存儲。最好的做法是創建您自己的OData服務並將其轉換爲查詢。您可以使用WCF數據服務工具包來幫助您執行此操作。您可以查看項目here。這將作爲OData公開您的服務,並幫助您編寫更新插入等。

+0

感謝Scott,我找到了該工具包,而且您是對的,它可以用來完成我想要的工作。謝謝! – 2011-05-06 12:51:47