C# 如何使用Azure Mobile Services和windows phone 8对多个(联接的)表进行查询?
我有两个表,它们在azure数据库管理器中被索引。第二个表中有外键。 我的桌子就是一个例子 OrderTable(OrderId、OrderDate、CustomerId)/CustomerId是我的外键 客户表(CustomerId、CustomerName等) 所以我只需要这样一个查询:C# 如何使用Azure Mobile Services和windows phone 8对多个(联接的)表进行查询?,c#,sql,azure,windows-phone-8,C#,Sql,Azure,Windows Phone 8,我有两个表,它们在azure数据库管理器中被索引。第二个表中有外键。 我的桌子就是一个例子 OrderTable(OrderId、OrderDate、CustomerId)/CustomerId是我的外键 客户表(CustomerId、CustomerName等) 所以我只需要这样一个查询: Select * From OrderTable o1,CustomerTable c1 Where c1.CustomerId=o1.CustomerId items = await todoT
Select *
From OrderTable o1,CustomerTable c1
Where c1.CustomerId=o1.CustomerId
items = await todoTable
.Where(todoItem => todoItem.Date >= DateTime.Now)
.ToCollectionAsync();
.ToListAsync();
我使用了microsoft示例TodoItems,我已经可以对一个表进行如下查询:
Select *
From OrderTable o1,CustomerTable c1
Where c1.CustomerId=o1.CustomerId
items = await todoTable
.Where(todoItem => todoItem.Date >= DateTime.Now)
.ToCollectionAsync();
.ToListAsync();
因此,在我的应用程序中,我得到了两个表,是否有任何选项可以像上面那样查询已联接的表?您可以在LINQ中执行联接,但在您的情况下,创建一个进行联接的视图,然后使用LINQ从中进行选择可能更容易 此外,您应该避免使用旧的连接语法,因为它在某个时候将不再受支持,并使用内部连接子句,即
SELECT * FROM OrderTable o1 INNER JOIN CustomerTable c1
ON c1.CustomerId = o1.CustomerId
您可以在LINQ中执行连接,但在您的情况下,创建一个执行连接的视图,然后使用LINQ从中进行选择可能更容易 此外,您应该避免使用旧的连接语法,因为它在某个时候将不再受支持,并使用内部连接子句,即
SELECT * FROM OrderTable o1 INNER JOIN CustomerTable c1
ON c1.CustomerId = o1.CustomerId
您可以在LINQ中执行连接,但在您的情况下,创建一个执行连接的视图,然后使用LINQ从中进行选择可能更容易 此外,您应该避免使用旧的连接语法,因为它在某个时候将不再受支持,并使用内部连接子句,即
SELECT * FROM OrderTable o1 INNER JOIN CustomerTable c1
ON c1.CustomerId = o1.CustomerId
您可以在LINQ中执行连接,但在您的情况下,创建一个执行连接的视图,然后使用LINQ从中进行选择可能更容易 此外,您应该避免使用旧的连接语法,因为它在某个时候将不再受支持,并使用内部连接子句,即
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门户。转到移动服务并创建新表。使用视图的名称创建表,系统将检测视图并将其呈现给您。您将看到不存在默认列,也不会显示任何数据。但是,您可以将其作为任何其他表进行查询,并且还可以修改其插入/更新/读取脚本
*重要提示:请仔细检查视图是否在正确的架构上创建。在移动服务上添加表后,还要再次检查服务器上是否没有创建表。创建一个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门户。转到移动服务并创建新表。使用视图的名称创建表,系统将检测视图并将其呈现给您。您将看到不存在默认列,也不会显示任何数据。但是,您可以将其作为任何其他表进行查询,并且还可以修改其插入/更新/读取脚本
*重要提示:请仔细检查视图是否在正确的架构上创建。在移动服务上添加表后,还要再次检查服务器上是否没有创建表。创建一个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门户。转到移动服务并创建新表。使用视图的名称创建表,系统将检测视图并将其呈现给您。您将看到不存在默认列,也不会显示任何数据。但是,您可以将其作为任何其他表进行查询,并且还可以修改其插入/更新/读取脚本
*重要提示:请仔细检查视图是否在正确的架构上创建。在移动服务上添加表后,还要再次检查服务器上是否没有创建表。创建一个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门户。转到移动服务并创建新表。使用视图的名称创建表,系统将检测视图并将其呈现给您。您将看到不存在默认列,也不会显示任何数据。但是,您可以将其作为任何其他表进行查询,并且还可以修改其插入/更新/读取脚本
*重要提示:请仔细检查视图是否在正确的架构上创建。在移动服务上添加表后,还要再次检查服务器上是否没有创建表。我需要创建视图,这没关系,但我应该在哪里创建它?在我的Mainpage.cs文件中,我不能,或者至少我不知道如何编写在c#项目中工作的视图。您必须在服务器上创建该视图。你不能通过移动服务web界面创建视图,但是在你的Azure管理门户中,你必须直接进入SQL管理部分并在那里进行操作。是的,谢谢,我在那里,我创建了一个视图,但我找不到