質問

私は、以下のLINQクエリーを常に結果がエラーになった時の"備考"欄にdtblDetailがnullの場合、もし試験の場合はNULLになります。

var varActiveAndUsedElementsWithDetails =
                        from e in dtblElements
                        join d in dtblDetails on e.PK equals d.FK into set
                        from d in set.DefaultIfEmpty()
                        where (e.ElementActive == true)
                        select new
                        {
                            ElementPK = e.PK,
                            Remark = d.IsRemarkNull() ? null : d.Remark
                        };

エラーメッセージ:"の値がカラム'備考'表'dtblDetailsはDBNull." を追加した後に、試験のためのd.IsRemarkNull()null参照例外がスローされます。

きっと。

しかし、私は確認は、以下のウェブサイトをなくなった使用頻度の高いものを取り揃えのように試験DBNULL.しかしこういったん解決私の問題です。

役に立ちましたか?

解決

問題はこの"d"ゆるっと"したアイテムはあります。いる"d.IsRemarkNull()'がnullの場合を参照。次のコードの問題を修正:

var varActiveAndUsedElementsWithDetails =
                    from e in dtblElements
                    join d in dtblDetails on e.PK equals d.FK into set
                    from d in set.DefaultIfEmpty()
                    where (e.ElementActive == true)
                    select new
                    {
                        ElementPK = e.PK,
                        Remark = d == null? null : (d.IsRemarkNull() ? null : d.Remark)
                    };

他のヒント

このエラーから?可能であることを。IsRemarkNull()引き起こしているのですか?うな方法はどうなっているか。

でしょうし

DBNull.Value.Equals(d.Remark)

この分野でない場合は、null db、デフォルト値で、取り扱いは、null値

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top