【问题标题】:Azure table storage - where clause on column that may not existAzure 表存储 - 列上可能不存在的 where 子句
【发布时间】:2014-01-21 17:08:35
【问题描述】:

我正在向我的 azure 表添加一个新列。例如,该表称为“用户”,新列称为“计算日期”。 'User' 表已经存在,其中的行没有这个新列 'ComputationDate'。我有一个查询如下,

var usersDue = from user in Table.Query where user.ComputationDate != <somedate> select user;

我希望此查询返回所有未将 ComputationDate 设置为“somedate”的用户行以及未定义此新“ComputationDate”列的用户行。 但查询不会返回后一组用户。它只返回设置了“ComputationDate”且值不等于“somedate”的行。 有什么方法可以得到我想要的结果,而无需获取所有用户并在客户端进行过滤?

【问题讨论】:

    标签: linq-to-sql azure-storage azure-table-storage


    【解决方案1】:

    您似乎正在尝试执行 LINQ to SQL 查询。

    这可能会更好地满足您的需求:

    var usersDue = from user in Table.Query 
                     where user.ComputationDate != <somedate> 
                        || user.ComputationDate == null
                     select user;
    

    【讨论】:

    • 'null' 比较不适用于 LINQ to SQL - stackoverflow.com/questions/4228460/…。还有其他想法吗?
    • @user1198407,我认为您的意思是说您不能对 Azure 表存储的查询使用空比较。我查看了您发布的链接 - 我建议修改您的方法以遵循该帖子的已接受答案的建议。
    猜你喜欢
    • 2021-02-23
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多