[英]How can I get a key from a List <object> in Firebase in Xamarin.Forms?
I am programming in Xamarin.Forms, I am also using the FirebaseDatabase [dot] net Nuget I have the following method, in connection to my Firebase Realtime Database, which sends a List.
public static async Task<bool> PostDetallePedido(List<AgregarCarrito> carrito)
{
try
{
var result = await firebase
.Child("DetallePedidos")
.Child(Preferences.Get("idOrder", string.Empty))
.PostAsync(carrito);
result2 = result.Key;
var keyTable = new KeyClass()
{
keyU = result2,
orderId = Preferences.Get("idOrder", string.Empty)
};
await firebase
.Child("keyTable")
.Child(Preferences.Get("idOrder", string.Empty))
.PostAsync(keyTable);
return true;
}
catch (Exception e)
{
Debug.WriteLine($"Error:{e}");
return false;
}
}
我的數據庫填充如下圖1
使用前面的代碼,我可以獲得唯一 ID,但我仍然不知道如何獲取以自動增量方式生成的值
-M7B6xMB19uodzf-C71H
| -0
| -1
編輯:
public static async Task<List<AgregarCarrito>> GetDetailByUser(int id)
{
try
{
var key = await GetKey(id);
var value = (await firebase
.Child("DetallePedidos")
.Child(Convert.ToString(id))
.Child(key.keyU)
.OnceAsync<AgregarCarrito>()).Select(item =>
new AgregarCarrito
{
orderId = item.Object.orderId,
ProductName = item.Object.ProductName,
CustomerId = item.Object.CustomerId,
Price = item.Object.Price,
TotalAmount = item.Object.TotalAmount,
ProductId = item.Object.ProductId,
Qty = item.Object.Qty,
imageUrl = item.Object.imageUrl,
Valor = item.Object.Valor
}).ToList();
return value;
}
catch (Exception e)
{
Debug.WriteLine($"Error:{e}");
return null;
}
}
我創建了一個使用 orderId 返回鍵值的方法,但我仍然無法訪問列表的值,在這種情況下,這將是發送列表時以自動增量方式生成的對象
據我所知,您只想檢索您之前插入的數據集。
var postResult = await firebase
.Child("DetallePedidos")
.Child(Preferences.Get("idOrder", string.Empty))
.PostAsync(carrito);
// there is also a `GetAsync` method on your firebase database
var result = await firebase
.Child("DetallePedidos")
.Child(Preferences.Get("idOrder", string.Empty))
.GetAsync(postResult.YOURKEY); // i have no clue how to access the key in your case
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.