我querysnapshot从 Firestore 检索一个,它返回带有 snapshot.docs 的 querydocumentsnapshot 列表,但是当我尝试映射它时什么也没有发生。如果我使用for...in循环,它就可以完美工作。
QuerySnapshot snap =
await FirebaseFirestore.instance.collection('Products').doc(FirebaseAuth.instance.currentUser.uid).collection('ItemDetails').get();
print(snap.docs);//returns [Instance of 'QueryDocumentSnapshot', Instance of 'QueryDocumentSnapshot', Instance of 'QueryDocumentSnapshot']
for (var item in snap.docs.toList()) {//this executes perfectly
print(item.data());
}
snap.docs.toList().map((e) => print(e.data().toString()));//this won't execute
snap.docs.map((e) => print(e.data().toString()));//this won't execute
Run Code Online (Sandbox Code Playgroud)
为什么循环起作用.map()时不起作用for?
我基本上是用名称填充数据表,现在我试图选择不同的名称并将它们放在列表中,但是当我尝试将linq查询转换为列表时,这给了我标题错误。我已经放入system.Linq
List<string> ItemNames = new List<string>();
var query1 = from r in DT.AsEnumerable()
group r by r.Field<string>("Name") into r
select r; // I also tried select r.ToList();
ItemNames = query1.ToList<string>();
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?