分区关键问题

时间:2011-06-07 10:56:08

标签: linq azure azure-table-storage

让我像这样定义我的实体:

public class User : TableServiceEntity
{
    /// <summary>Unique Id (Row Key)</summary>
    public string Id
    {
        get { return RowKey; }
        set { RowKey = value; }
    }

    /// <summary>Gets or sets the username (Partition Key)</summary>
    public string Username
    {
        get { return PartitionKey; }
        set { PartitionKey = value; }
    } 
}

以下Linq查询是否会使用分区键?

var ctx = ServiceLocator.Get<UserDataServiceContext>();
return ctx.Users.Where(x => x.Username == Username).FirstOrDefault();

1 个答案:

答案 0 :(得分:1)

很确定不会。但是,您可以使用Fiddler验证这一点。如果你没有看到带有PartitionKey和RowKey的线路上的$ filter,那么你就不会被它们查询(这可能很糟糕)。我相信你在电线上拥有的是一个具有4个属性(PK,RK,Id和用户名)的实体,你将要查询的属性将不会被编入索引。