我有
var query =
from Dev device
in storage.QueryEntities<Dev>("dev")
where device.PartitionKey == "1"
select device;
我只需要表中的一些列。做
var query =
from Dev device
in storage.QueryEntities<Dev>("dev")
where device.PartitionKey == "1"
select new {device.ID, device.Model};
不起作用:发出字段名作为REST查询的一部分($select=ID,Model)和azure返回'InvalidInput'
应该可以从2011-08-18版本开始工作,参见针对表服务编写LINQ查询。
下面的示例从具有10个属性的实体投射3个属性。在这个例子中,SampleEntity的10个属性是从A到J的字母:
IEnumerable<SampleEntity> query = from entity in
dataServiceContext.CreateQuery<SampleEntity>(tableName)
where entity.PartitionKey == "MyPartitionKey"
select new SampleEntity
{
PartitionKey = entity.PartitionKey,
RowKey = entity.RowKey,
A = entity.A,
D = entity.D,
I = entity.I
};
参见http://msdn.microsoft.com/en-us/library/dd135725.aspx
选择-不支持-在任何读操作中检索实体的所有属性。不支持投影
所以你不能在表接口级别做这个投影——你必须选择所有的字段