我用Plugin.CloudFirestore
为了从文档中获取值,我通常用Class
表示它们,例如:
public class FirestoreDoc
{
public string key { get; set; }
}
firestoreDoc.ToObject<FirestoreDoc>().key;
现在我有一个具体的问题。文档的键的名称是由应用程序的用户动态添加的。从文档中获取键的名称很容易,但由于我不能动态添加类成员到Class
中,我如何获取它们对应的值?
编辑:
一些额外的信息。
我尝试获取的字段类型为array
,它们将reference
存储到其他数据库文档中。
下面是我的尝试:var referenceList = firestoreDoc.Data[customKey];
通过这行**,我成功地获得了特定键的值**,但我仍然有两个问题:
- 我不能遍历我得到的列表的值,
- List的值是
string
类型,而不是IDocumentReference
类型,因此我无法调用GetAsync()
方法来获取引用的文档。
第二个问题,我尝试了一个演员表:var referenceList = (List<IDocumentReference>)firestoreDoc.Data[customKey];
但强制转换的结果是一个错误:System.InvalidCastException: 'Specified cast is not valid.'
1条答案
按热度按时间9udxz4iz1#
在尝试了不同的方法之后,这里是解决方案: