使用Linq从IEnumerable中选择一个表列

时间:2017-10-15 08:21:03

标签: c# linq sqlite

通过使用Sqlite:

,我的表格如下所示
public class Medication
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public string unique_id { get; set; }
    public string username { get; set; }
    public string insulin_type { get; set; }
    public string units { get; set; }
    public string status { get; set; }

    public string alarm_time { get; set; }
    public Medication() { }
}

现在我想使用IEnumerable获取列alarm_time列表,但我不知道如何获取它。以下是我的代码:

public IEnumerable<Medication> AllMedicationResults()
{
    return (from t in _connection.Table<Medication>()
            select t).ToList();
}

如何在上面的代码中包含列alarm_time

1 个答案:

答案 0 :(得分:0)

select请求中仅显示该属性(以及更改方法返回类型)

public IEnumerable<string> AllMedicationResults()
{
    return (from t in _connection.Table<Medication>()
            select t.alarm_time).ToList();
}

但IMO看起来更干净,只需使用方法语法:

public IEnumerable<string> AllMedicationResults()
{
    return  _connection.Table<Medication>().Select(t => t.alarm_time).ToList();
}

请注意,当您返回IEnumerable<T>时,您可能需要考虑删除ToList()并使用linq的默认执行的好处