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

时间:2012-07-27 11:43:31

标签: windows-phone-7 azure cloud

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

数据库有一个名为People的表,每个'record'都被视为Person。表中的一列是'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;
}

如何更改查询以便我可以检索表中所有列的所有Person记录的列表,而不仅仅是名称字段?

是否有更好的方法从Azure表中读取数据?

干杯!

编辑: 当我将查询更改为:     @“SELECT value Person FROM DataEntities.People AS Person”;

它返回null并且我的WP7应用程序崩溃了。 (我还调整了代码,以便它接受Person而不是string.E.G ObjectQuery

1 个答案:

答案 0 :(得分:1)

尝试将调用更改为CreateQuery:

From: CreateQuery<string>
To: CreateQuery<Person>

这是必需的,因为如果你选择一个Person,那么这不是一个字符串,而是一个Person。

现在,您可以尝试不使用类型(Person)作为别名吗?尝试这样的事情:

SELECT VALUE pers FROM DataEntities.People AS pers

为什么不简单地使用 context.People