Windows phone 7 使用WPF和WP7从Windows Azure表检索所有行

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

我已经建立了一个本地服务和一个WindowsAzure数据库。我可以访问Azure数据库并从所有行中检索数据,但一次只能从一列中检索数据

数据库有一个名为People的表,每个“记录”都被视为一个人。表中的一列是“Name”,我可以使用以下方法检索所有名称:

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