Xamarin プロジェクトでSQL-NET 拡張機能を使用しています。where句を使用して、モデルの子エメルメントを返そうとしています。Web サイトのサンプル モデルを使用する:
public class Stock
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(8)]
public string Symbol { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)] // One to many relationship with Valuation
public List<Valuation> Valuations { get; set; }
}
public class Valuation
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[ForeignKey(typeof(Stock))] // Specify the foreign key
public int StockId { get; set; }
public DateTime Time { get; set; }
public decimal Price { get; set; }
[ManyToOne] // Many to one relationship with Stock
public Stock Stock { get; set; }
}
以下を使用して、子が取り込まれた特定のアイテムを正常に返すことができます。
var storedValuation = db.GetWithChildren<Valuation>(valuation.Id);
Where
ただし、の代わりに句を使用してそれを行う方法がわかりませんGet
。私が試してみました:
var results = db.Table<Valuation>().Where(x=>x.Price > 5.0m).ToList();
これは、すべての Stock パラメーターが null で返されます。次に、各結果をループして設定できますが、元のクエリでそれを行うためのより良い方法があるに違いないと思いますか?