![](/img/trans.png)
[英]How, or can i query multiple tables in WindowsPhone8 Application using Windows Azure Mobile Services?
[英]How to make a query on multiple(joined) Tables using Azure Mobile Services with windows phone 8?
我有兩個表,它們在Azure數據庫管理器中建立了索引。 所以我在第二張表中有外鍵。 我的桌子例如
OrderTable(OrderId,OrderDate,CustomerId)/ CustomerId是我的外鍵
客戶表(CustomerId,CustomerName,....)
所以我只想要這樣的查詢:
Select *
From OrderTable o1,CustomerTable c1
Where c1.CustomerId=o1.CustomerId
我使用了Microsoft示例TodoItems,並且已經可以在一個表上進行查詢,如下所示:
items = await todoTable
.Where(todoItem => todoItem.Date >= DateTime.Now)
.ToCollectionAsync();
.ToListAsync();
所以在我的應用程序中,我得到了兩個表,是否可以像上面的表那樣查詢已聯接的表?
您可以在LINQ中執行聯接,但是根據您的情況,創建執行聯接的視圖然后使用LINQ從視圖中進行選擇可能會更容易。
另外,您應該避免使用舊的連接語法-它將在某些時候停止受支持-並使用INNER JOIN子句,即
SELECT * FROM OrderTable o1 INNER JOIN CustomerTable c1
ON c1.CustomerId = o1.CustomerId
創建一個像Rikalous指出的視圖。 您可以通過單擊Windows Azure門戶上的Sql數據庫來執行此操作。 選擇您的服務器,然后單擊右下角“儀表板”頁面上的“管理URL”。
登錄后,單擊“新建查詢”,然后鍵入sql代碼以創建視圖。
CREATE mySchema.myView AS
SELECT * FROM Table t1 INNER JOIN OtherTable t2 ON t1.a=t2.b
創建視圖后,請返回Windows Azure門戶。 轉到您的移動服務並創建一個新表。 使用您的視圖名稱創建表,系統將檢測該視圖並將其呈現給您。 您將看到不存在默認列,也不會顯示任何數據。 但是您可以像查詢其他任何表一樣查詢它,此外,您還可以修改其插入/更新/讀取腳本。
*重要:請仔細檢查您的視圖是否在正確的架構上創建。 在移動服務上添加表后,還要仔細檢查服務器上沒有創建表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.