Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Sqlite net包将Sqlite 3中的所有行获取到对象列表?_Sql_Xamarin_Sqlite_Sqlite Net - Fatal编程技术网

如何使用Sqlite net包将Sqlite 3中的所有行获取到对象列表?

如何使用Sqlite net包将Sqlite 3中的所有行获取到对象列表?,sql,xamarin,sqlite,sqlite-net,Sql,Xamarin,Sqlite,Sqlite Net,我正在使用这个包装: 我可以将对象列表很好地插入数据库。 然而,我似乎无法“从表中获取”列表。 我知道这个包中的内置函数。在尝试此功能之前,我使用了: return(List)(从connection.Table()中的i选择i.ToList() 这很管用。但是,我现在需要创建一个手动SQL查询 这里大致是我认为它的样子: List<MyClass> Temp = new List<MyClass>(); var Result = connection.Execute("

我正在使用这个包装: 我可以将对象列表很好地插入数据库。 然而,我似乎无法“从表中获取”列表。 我知道这个包中的内置函数。在尝试此功能之前,我使用了:

return(List)(从connection.Table()中的i选择i.ToList()

这很管用。但是,我现在需要创建一个手动SQL查询

这里大致是我认为它的样子:

List<MyClass> Temp = new List<MyClass>();
var Result = connection.Execute("SELECT * FROM Car MyTable");
while (Result.HasRows())
{
    Temp.Add(Result);
}
List Temp=new List();
var Result=connection.Execute(“从Car MyTable中选择*);
while(Result.HasRows())
{
温度添加(结果);
}

Use可以将
CreateCommand
executeFerredQuery
一起使用,以获取惰性光标:

var sqlQueryEnumerable = sqlConn.CreateCommand("select * from Customer").ExecuteDeferredQuery<SomeTableClass>();
foreach (var row in sqlQueryEnumerable)
{
    Debug.WriteLine(row.SomeColumn);
}

ExecuteQuery()中泛型的用途是什么?它只是扮演演员吗?因为类型很好,但是我有多个匹配的表,它们具有与MyClass相同的结构class@JimLahey泛型定义了表数据的返回类型,因此每个SQL行都转换为该类定义
只从名为
MyClass
?@JimLahey的表中获取数据,这是正确的,但是从SQL语句返回的数据需要符合该类类型,否则需要提供表映射选项(该方法的第二个参数)
var listOfCustomers = sqlConn.CreateCommand("select * from Customer").ExecuteQuery<Customer>();
foreach (var listItem in listOfCustomers)
{
    Debug.WriteLine(listItem.CustomerID);
}