Windows phone 7 使用WPF和WP7从Windows Azure表检索所有行
我已经建立了一个本地服务和一个WindowsAzure数据库。我可以访问Azure数据库并从所有行中检索数据,但一次只能从一列中检索数据 数据库有一个名为People的表,每个“记录”都被视为一个人。表中的一列是“Name”,我可以使用以下方法检索所有名称:Windows phone 7 使用WPF和WP7从Windows Azure表检索所有行,windows-phone-7,azure,cloud,Windows Phone 7,Azure,Cloud,我已经建立了一个本地服务和一个WindowsAzure数据库。我可以访问Azure数据库并从所有行中检索数据,但一次只能从一列中检索数据 数据库有一个名为People的表,每个“记录”都被视为一个人。表中的一列是“Name”,我可以使用以下方法检索所有名称: public List<string> GetAllPeople() { string query = @"SELECT value Person.Name FROM DataEntities.People AS Per
public List<string> GetAllPeople()
{
string query = @"SELECT value Person.Name FROM DataEntities.People AS Person";
List<string> resultsAsStrings = new List<string>();
using (var context = new DataEntities())
{
ObjectQuery<string> results = context.CreateQuery<string>(query);
foreach (string result in results)
{
if (result != null)
{
resultsAsStrings.Add(result);
}
}
}
return resultsAsStrings;
}
public List GetAllPeople()
{
字符串查询=@“从DataEntities.People中选择值Person.Name作为Person”;
List resultsAsStrings=新列表();
使用(var context=newdataentities())
{
ObjectQuery结果=context.CreateQuery(查询);
foreach(结果中的字符串结果)
{
如果(结果!=null)
{
resultsAsStrings.Add(结果);
}
}
}
返回结果字符串;
}
如何更改查询,以便检索表中所有列的所有Person记录的列表,而不仅仅是name字段
有没有更好的方法从Azure表读取数据
干杯
编辑:
当我将查询更改为:
@“从数据实体中选择值人员。人员作为人员”
它返回null,我的WP7应用程序崩溃。(我还调整了代码,使其接受Person而不是string。例如ObjectQuery尝试更改对CreateQuery的调用:
From: CreateQuery<string>
To: CreateQuery<Person>
你为什么不直接使用上下文呢?我已经有了。当我尝试检索名字的时候,我使用字符串,当检索一个人的时候,我用“person”替换所有字符串的实例。谢谢你的回复。好吧,恐怕使用pers不管用。上下文。人是存在的,但是我用它做什么呢?没有疑问方法。有没有更好的方法从Azure表中读取数据?您只需执行以下操作:
context.People.ToList()
或context.People.Select(o=>new{Name=o.Name,FirstName=o.FirstName,Age=o.Age,Street=o.Street})。ToList()
获取所有人..ToList()不存在,但.Select存在-但是参数无效,因为它不知道o是什么…在文件顶部添加System.Linq的using语句。查询类型“Person”应该返回您想要的所有“记录”,为什么这不是您想要的?还请记住,您可以从Azure TS一次获取的最大记录数是1000。我已经尝试过了,我只尝试获取4条记录。不过,我找到了另一种方法。谢谢您的回复。
SELECT VALUE pers FROM DataEntities.People AS pers