摘要
总之,我试图显示所有不同的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"
这是我对Cosmos DB的查询:
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"}]