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>();
}
何が問題で、どうすれば解決できますか?