存在しないレコードを選択したいのに、どちらも機能し??
ないのはなぜか、私を悩ませていました。== null
たとえば、私がする場合
var foo = db.Where(k => k.ID == 9) ?? bar;
それは正常に動作しますが、単一のフィールドObject reference not set to an instance of an object
にしたいときにクラッシュします(エラー) :select
var foo = db.Where(k => k.ID == 9).Select(k => k.Field).FirstOrDefault() ?? bar;
//or
var foo = bar;
if (db.Where(k => k.ID == 9) != null)
foo = db.Where(k => k.ID == 9).Select(k => k.Field).FirstOrDefault()
どちらの場合もクラッシュしますが、これはかなり論理的なようです。
通常、私は気にしないだろう
if (Order.A_Data.Where(k => k.FieldID == 9).Count() > 0)
writeText(cb, Order.A_Data.Where(k => k.FieldID == 9).
Select(k => k.Content).
FirstOrDefault().ToString(),
left_margin, top_margin - 24, f_cn, 10);
//this looks more like the actual code, but in fact it has multiple 'where' conditions and more tables connected with an external key, that's why I don't want to write the same thing over and over again
//or creating new variables
しかし悲しいことに、これらのような数十のテーブルからデータを取得するような文字通り数百のフィールド*を持つ非常に複雑なPDFドキュメントを再作成する必要があるため、すべての「トリッキーな方法」が非常に役立ちます. また、非常に遅いです。
それとも、keep-your-null-exception-errors-for-yourself-and-just-return-an-empty-string スイッチがありますか?
*より具体的には 278。だから私はこれを行う簡単な方法を見つけるか、別のバケツのコーヒーを準備して、ため息をついて仕事をすることができます