让我像这样定义我的实体:
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();
答案 0 :(得分:1)
很确定不会。但是,您可以使用Fiddler验证这一点。如果你没有看到带有PartitionKey和RowKey的线路上的$ filter,那么你就不会被它们查询(这可能很糟糕)。我相信你在电线上拥有的是一个具有4个属性(PK,RK,Id和用户名)的实体,你将要查询的属性将不会被编入索引。