C# 列表<;对象>;串
我试图从数据库中查询,它返回列表,我需要medName字段的字符串[]C# 列表<;对象>;串,c#,sqlite,C#,Sqlite,我试图从数据库中查询,它返回列表,我需要medName字段的字符串[] public List<Medicines> selectMeds() { try { using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "mediapp.db"))) {
public List<Medicines> selectMeds()
{
try
{
using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, "mediapp.db")))
{
return connection.Table<Medicines>().ToList();
}
}
catch (SQLiteException ex)
{
Log.Info("SQLiteEx", ex.Message);
return null;
}
}
如何将sqlite数据库中的一列查询为字符串[]?或者我可以将Medicine对象转换为字符串[],只获取medName的值吗?只需在表格内容上选择,如:
string[] meds = connection.Table<Medicines>().ToList().Select(x=>x.medName).ToArray();
string[]meds=connection.Table().ToList().Select(x=>x.medName.ToArray();
您需要使用选择投影表
,然后通过调用ToArray
方法将查询具体化为数组:
var meds = connection.Table<Medicines>().Select(med => med.medName).ToArray();
var meds=connection.Table().Select(med=>med.medName.ToArray();
try:connection.Table().Select(c=>c.medName.ToArray()代码>将此添加为answer@EhsanSajjad,以便我可以标记您的答案。它起作用了!Thanks@jtyg补充说,我根本不会改变这个方法。我将使用此方法返回的列表
,在需要字符串列表的代码点应用此处公开的解决方案和副本中的解决方案。
var meds = connection.Table<Medicines>().Select(med => med.medName).ToArray();