1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】Nullableオブジェクトは値を持たなければならない?

2022-01-11 07:25:07

質問

コードは次のとおりです。

using (var db = new DataClasses1DataContext())
{
    var fill = (from f in db.expenseHdrs
                where f.rptNo == getPkRowReport()
                select f).FirstOrDefault();

    txtReportDesc.Text = fill.description;
    txtPeriod.Text = fill.period;
    txtPurpose.Text = fill.purpose;

    bool travel = fill.travel.Value;
    chkTravel.Checked = travel 
 }

行でエラーが発生しました。 bool travel = fill.travel.Value; :

Nullable object must have a value

 私がしたいのは、現在falseであるtravelのデータベース内の値を取得することです。

解決方法は?

に切り替えることができます。

 fill.travel.GetValueOrDefault()

デフォルト(false)、つまりデータベースからbooleanカラムの値を提供すること。または、オーバーロードでデフォルトを指定することもできます。いずれにせよ、nullableは現在値を持っていないので、その例外が発生します。