1

だから私は都市モデルを持っています。各都市には、その他の都市と同様に Name 属性と、StateId および State (StateId は外部キー) があります。State には Name プロパティもあります。Name + ", " + State.Name で、"Ashland, OR" のような "Name_Full" というプロパティを作成したかったのです。ただし、プロパティを参照しようとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

都市モデルのコードは次のとおりです。

public class City
{
    public int CityId { get; set; }

    [Required]
    public string Name { get; set; }

    public int StateId { get; set; }

    public State State { get; set; }

    public List<Store> Stores { get; set; }

    public string Name_Full
    {
        get
        {
            return Name + ", " + State.Name;
        }
    }
}

(名前空間と使用するものは含めませんでした)。

4

2 に答える 2

1

データベース内のStateテーブルの一部が null になっていると思われます。そのため、null オブジェクトのNameプロパティを取得しようとすると、例外がスローされます。次のようなものを使用して null ケースを処理します。

return Name + ((State == null) ? "" : ", " + State.Name);
于 2012-06-21T06:44:11.850 に答える
1

Name_Full を呼び出すときは、State オブジェクトが読み込まれ、null ではないことを確認してください。外部キーの関係が存在しないことが懸念される場合は、外部キーを明示的にリンクできます。

// Foreign key to state
[ForeignKey("State")] 
public int StateId { get; set; } 
public virtual State State { get; set; } 
于 2012-06-21T06:47:35.910 に答える