Я пытаюсь обработать вывод из SQLiteDataReader
, и мне было интересно, с одной стороны, почему я не могу вызвать метод расширения Take<>
для считывателя (как, очевидно, есть System.Data.SQLite.Linq
сборка), и, с другой стороны, если есть, возможно, лучший способ работы с результатами читателя в целом, поскольку я планирую реализовать для них общие методы CRUD.
using (var con = new SQLiteConnection(str.ConnectionString))
{
con.Open();
using (var cmd = new SQLiteCommand(sql, con))
{
using (SQLiteDataReader data = cmd.ExecuteReader())
{
if (data.HasRows)
{
var txt = new StringBuilder();
while (data.Read())
{
for (int i = 0; i < data.FieldCount; i++)
{
txt.AppendFormat("{0} ", data.GetValue(i));
}
txt.AppendLine(Environment.NewLine);
}
Console.WriteLine(txt.ToString());
}
data.Close();
}
}
con.Close();
}
Чтобы метод расширения работал, я попробовал что-то вроде:
txt.AppendFormat("{0} ", Convert.ToString(data.GetValue(i)).Take(10));
Но вместо этого строка заполняется типами.
Любой совет обязательно будет оценен. Заранее большое спасибо.