0

サイトに Locations 列があります。データベースには、 の個別のテーブルがあります。

国 都道府県 地域

これらのすべてのテーブル ID は Locations テーブルに格納され、ロケーション テーブル ID は、候補の詳細で LocationId に参照されます。

私の問題は、保存されている場所の候補を表示したいということです。

例えば:

場所: 都市、そのような国。locationId が null の場合、表示されることを意味します

「オブジェクト参照がオブジェクトに設定されていません」

したがって、次のようなコードを使用します。

<strong>Present Location:</strong>
        <%if (Model.LocationId.HasValue)
          { %>
            <%:Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%>
        <%} else { %>
                <%:Model.LocationId == null ? "" : Model.GetLocation(Model.LocationId.Value).City.Name%><%:","%><%:Model.GetLocation(Model.LocationId.Value).Country.Name%>
        <%} %>

リポジトリ内:

public Location GetLocation(int locationId)
    {
        return _db.Locations.SingleOrDefault(l=>l.Id==locationId);
    }

しかし、それでも上記のコードでエラーが発生します...誰か助けてくれますか?

4

1 に答える 1

0

SingleOrDefaultnull一致が見つからない場合、クラスの「デフォルト」が返されるため、結果LocationIdとしてチェックも違法になります。したがって、モデルで null チェックを行う必要があります。それが何かであり、何もない場合、それは場所のインスタンスです。Modelnull

于 2013-05-22T11:56:41.837 に答える