2017-07-14 10 views
0

ObjectAはEFのエンティティです。 ここで私はObjectBを与えるObjectA Bid Propertyと一致するDBテーブルのレコードがあるかどうかを調べます。Iqueryable条件節で使用するセーフナビゲータ

問題は、ObjectBがnullの場合、nullを返し、nullにチェックする問題です。その場合、objectBがnullであることを確認しますか?

var result = ObjectA.Any(i => i.Bid == ObjectB?.Id); 
+0

を? – EpicKip

+0

このような状態で安全なナビゲーションプロパティを使用するのは問題になると感じました。人々はnull参照例外を避けるためにそれを簡単に使用しましたが、左側がnullの場合はnullを返すため、ここで予期せぬ結果をもたらしました –

+0

ああそうです – EpicKip

答えて

1

nullは最初の三条件演算子、構文を使用している場合は、確認することができます。だから、あなたは正確に何を求めているCond?ReturnIfTrue:ReturnIfFalse

var result = ObjectB!=null?ObjectA.Any(i=>i.Bid == ObjectB.Id):null;