提问者:小点点

替换列表(对象)查询结果中的字符串


我正在使用Sqlite-pcl从数据库中检索一些数据。当显示结果时,有一个作为整数(等级)返回的某个字段,代表奖杯等级。我想用取决于值的字符串值替换该字段,例如,如果值为0,我想要结果为“铂金”,如果值为1,则值应为“银”。当然,数据库中没有这样的表来保存这些等级的描述,因此我不能使用联接


共1个答案

匿名用户

在注释中,您提到可以更改tbl_trophy_flag的定义,因此我要做的是使用您想要的值创建一个enum:

public enum TrophyGrade {
    Platinum = 0,
    Silver = 1,
    // ...
}

更改模型中的字段类型:

public class Tbl_Trophy_Flag {

    // public int grade { get; set; }
    public string grade { get; set; }
}

并转换从数据库返回的值:

List<Tbl_Trophy_Flag> res = (from flg in Table<Tbl_Trophy_Flag>()
                             select new Tbl_Trophy_Flag()
                             {
                                 title = flg.title,
                                 description = flg.description,
                                 grade = (TrophyGrade)flg.grade
                             }).ToList();