0
私はこのようなクエリを書いている:LINQからSQLへの条件付きの読み取り
var TheOutput = (from x in MyDC.MyTable
where.....
select new MyModel()
{
MyPropID = (from a in MyDC.MyOtherTable
where....
select a.ElementID).SingleOrDefault(),
MyPropData = (from a in MyDC.MyOtherTable
where a.ElementID == MyPropID
select a.ElementData).SingleOrDefault(),
}
私は、データベースからいくつかのプロパティをmymodelというをいっぱいにしています。これらのプロパティのうちの2つは、別のテーブルを読み込むことで埋められます。現時点では、最初にMyPropIDを読んで、別のテーブルに要素があるかどうかを確認し、IDが取得されたかどうかにかかわらず、もう一方のテーブルを再度読み取ってデータを取得します。
MyPropIDを読み込んでヌルを返して、どこにa.ElementID == MyPropID節に一致するデータがないことが分かっている場合、この2番目の読み込みを削除するにはどうすればよいですか。
ありがとうございました。
私のコードで生成されるSQL文の数はどこで確認できますか? – frenchie
私は通常[LinqPad](http://www.linqpad.net/)を使用します – Magnus
おそらく 'MyPropData = id == null? null:(MyDC.MyOtherTableの...から)Single()は、クエリがまったく実行されないという意図を明確にします。 – BACON