我正在尝试在 Xamarin 上使用 SQLite.NET 包进行查询。
public static List<Place> searchForPlace(double lat, double lng)
{
var query = conn.Table<GPSPoint>().Where(v => Math.Sqrt(Math.Pow(v.lat - lat, 2) - Math.Pow(v.lng - lng, 2)) < 5);
List<Place> l = new List<Place>();
foreach (var gpsPoint in query) // the foreach statement causes the error System.NotSupportedException: Cannot get SQL for: Subtract
{
var queryPlaces = conn.Table<Place>().Where(v => v.ID == gpsPoint.ID);
foreach (var place in queryPlaces)
l.Add(place);
break;
}
return l;
}
但我的代码给了我这个错误System.NotSupportedException: Cannot get SQL for: Subtract
。
这是我用于初始化数据库的代码
public DatabaseConnection()
{
string folder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
conn = new SQLiteConnection(System.IO.Path.Combine(folder, "navigationApp.db"));
conn.CreateTable<GPSPoint>();
conn.CreateTable<Place>();
}
问题是什么,我该如何解决?