摘要
简而言之,我正在尝试显示所有不同的 ID。我试图理解为什么当我第一次运行查询(不是不同的(时,我能够在我的模型中使用它们,而不是现在。我得到的错误是Cannot convert from System.String to AppName.Models.Student
.
例
例如,显示我集合中的所有 id(文档中有重复的 id(:"SELECT s.ClassId from Students s"
工作正常,但是当我尝试获取不同的值时,它无法转换它们,查询SELECT DISTINCT VALUE s.ClassId from Students s"
这是我对宇宙数据库的查询:
public List<T> Query(string query)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true };
// Execute query via SQL
IQueryable<T> QueryInSql = Client.CreateDocumentQuery<T>(
UriFactory.CreateDocumentCollectionUri(Database, Collection),
$"{query}",
queryOptions);
// convert Iqueryable to a list
return QueryInSql.ToList();
}
我更改了我的模型以仅包含
public class Class
{
public string ClassId {get; set;}
}
包含文档的样本收集
{
{
"id":"abc",
"studentName": "bob",
"classId":"en"
},
{
"id":"bcd",
"studentName": "billy",
"classId":"sp"},
{
"id":"sdf",
"studentName": "bart",
"classId":"en"
}
}
因此,错误出在我传入的查询中。将VALUE
添加到其中时,您会返回
["en","sp"]
然而,我认为我得到的是
[{"id": "en"}, {"id": "sp"}]