【发布时间】:2017-06-21 17:54:28
【问题描述】:
我在生产时发现了一些情况
CloudContext.TableData.Where( A => A.PartitionKey == "MYKEY").ToList();
TableData 在哪里
public DataServiceQuery<T> TableData { get { return CreateQuery<T>( _TableName ); } }
不返回整个分区(我那里的记录少于 1000 条)。
在我的情况下,它返回 367 条记录,而在 VS2010 服务器资源管理器或 Azure 存储资源管理器中我得到 414 条记录(条件相同)。
有人遇到过同样的问题吗?
此外,如果我更改查询并将 RowKey 添加到条件中 - 我会毫无问题地获得所需的记录。
【问题讨论】:
-
基于之前的解决方案:修改代码:TableData -> CreateQuery
(_TableName).AsTableServiceQuery (); ToList() -> public static List ToFullList ( this IQueryable Source ) { if( Source == null ) { throw new ArgumentNullException( "Source" ); } return Source.AsTableServiceQuery().Execute().ToList(); }