我正在使用sqlite.net库在xamarin android上开发项目。我有一个选择查询,它将执行并创建一个称为worker的自定义对象的集合:
var command = conn.CreateCommand("SELECT * FROM tblWorkers");
var results = command.ExecuteQuery<Worker>();
ObservableCollection<Worker> workers = new ObservableCollection<Worker>(results);
return workers;
列之一是外键,我需要从该表中获取一个值,只是想知道这样做的最佳方法是什么。数据表tblWorkers上的外键是TitleID在该表上是varchar(datatable:tblTitles列:Title-nvarchar)我需要检索的只是想知道这样做的最佳方法是什么?
最佳答案
var command = conn.CreateCommand("SELECT * FROM tblWorkers LEFT JOIN tblTitles ON tblWorkers.TitleID = tblTitles.id");
现在,上面的方法就可以了,但是一般来说,您要避免使用
SELECT *
。只获取您想要的字段。理想情况是这样的...var command = conn.CreateCommand("SELECT tblWorkers.SomeFieldYouWant, tblWorkers.SomeOtherFieldYouWant, ... , tblTitles.Title FROM tblWorkers LEFT JOIN tblTitles ON tblWorkers.TitleID = tblTitles.id");