【发布时间】:2020-05-22 04:39:47
【问题描述】:
在构建查询时,我可以使用 Select 方法并创建一个新模型,我可以在其中选择我需要的任何内容。例如:
var queryOptions = new FeedOptions { MaxItemCount = -1, PartitionKey = new PartitionKey("test") };
var queryResponse = DocumentClient.CreateDocumentQuery<User>(DocumentCollectionUrl, queryOptions)
.Where(x => x.Id == id)
.Select(x => new UserViewModel
{
Name = x.Name
})
.AsDocumentQuery();
这将创建一个仅选择名称的查询,并且可以正常工作。
现在,如果我创建一个扩展方法,并在 select 方法中调用它,如下所示:
var queryResponse = DocumentClient.CreateDocumentQuery<User>(DocumentCollectionUrl, queryOptions)
.Where(x => x.Id == id)
.Select(x => x.ToShortModel())
.AsDocumentQuery();
我收到以下错误: {"不支持方法 'ToShortModel'。Windows/10.0.17763 documentdb-netcore-sdk/2.4.0"}
如果我只想选择几个属性,是否需要创建新模型?还是我应该只使用第一个示例?
扩展方法ToShortModel:
public static UserViewModel ToShortModel(this User entity)
{
return new UserViewModel
{
Name = entity.Name
};
}
提前谢谢你。
【问题讨论】:
标签: c# sdk azure-cosmosdb