戻ってくる子要素の数を制限したいと思います。この例では、Order.CustomerID "VINET"に3つのOrder Detailsがあります。私は単価14のレコードを見たいだけです。単価が9.8または43.8のOrder Detailsを表示したくないです。グリッドにデータバインドされたときにLINQサブクエリを制限する
最後に、私は動的なクエリまたは述語で、しかし簡単な例は私の問題を示すはずです。私はこれを、以下に示す2つの方法を含めていくつかの方法で試しました。 LINQが展開するときにLINQが自動的に独自のクエリを実行しているという問題に気付いていますが、誰かが良い解決策を持っていますか?
private void btnJoinProblem_Click(object sender, EventArgs e)
{
NorthwindDataContext db = new NorthwindDataContext();
var tempQ2 = (from od in db.Order_Details
join o in db.Orders on od.OrderID equals o.OrderID
where od.UnitPrice == 14
select o).Distinct();
}
はまた、注文の詳細レベル
NorthwindDataContext db = new NorthwindDataContext();
var tempQ = from o in db.Orders
where o.Order_Details.Any(od => od.UnitPrice == 14)
select o;
var bindingSource = new BindingSource();
bindingSource.DataSource = tempQ;
ultraGrid1.DataSource = bindingSource;
BindingSource.DataSourceは、およそ10種類の異なる型を受け入れます。 IEnumberableはその1つです。追加/削除機能を使用する場合にのみリストが必要です。 :) – leppie
十分な公正 - 明示的な投影についての私のポイントは... –
ありがとう。私は自分のカスタムオブジェクトを構築する必要があります。なぜなら、遅延ロードが問題を引き起こしているからです。 – joe