我已经问过这个问题,但我会尝试更加具体,希望能更清楚一点。
我有一个xamarin Android项目,使用Parse.com作为后端。我有两个表(或类),一个包含信标列表(称为信标),另一个包含类别列表(称为BeaconCat)。信标类表的标题如下:
ObjectID | minor | major | CatID (this is the 'pointer' column to BeaconCat)
111111 | 200 | 999 | 12345
BeaconCat类的标题如下:
ObjectID | Category
12345 | Sports
我正在尝试做的是,运行一个传递'次要'号码的查询,在第一个表中查找该号码,并返回第二个表中类别列的值。
所以在上面的例子中,我希望传入200的小调,然后返回字符串'sports'。
看起来应该很容易,但我真的很挣扎。
我一直在尝试以下各种变体:
public async void getBeaconCat(Int32 minor)
{
try{
var innerQuery = ParseObject.GetQuery("Beacons");
innerQuery.WhereEqualTo("minor", minor);
innerQuery.Include("CatID");
var newQuery = ParseObject.GetQuery("BeaconCat");
newQuery.WhereMatchesQuery("Category", innerQuery);
IEnumerable<ParseObject> Myresults = await innerQuery.FindAsync();
foreach (var result in Myresults)
{
var category = result.Get<string>("Category");
Console.WriteLine ("Category is " + category);
}
}
catch{
Console.WriteLine ("There was a problem fetching data from parse");
}
}
我尝试的任何东西似乎只是直接捕获并且不返回字符串值。
对此有任何帮助表示赞赏。
答案 0 :(得分:1)
public async Task getBeaconCat(Int32 minor)
{
try{
var innerQuery = ParseObject.GetQuery("Beacons").WhereEqualTo("minor", minor).Include("CatID").Include("Category");
IEnumerable<ParseObject> MyFirstResults = await innerQuery.FindAsync();
foreach (var result in MyFirstResults)
{
var catObject = result.Get<ParseObject>("CatID");
var category = catObject.Get<string>("Category");
Console.WriteLine ("The category is......... " + category);
return category;
}
}
catch{
Console.WriteLine ("There was a problem fetching data from parse");
}
}