ASP.NET MVC 3 と Entity Framework 5.0 で大学に関するさまざまな情報を表すモデルがあります。モデルには、TrendModel と呼ばれる別のモデルの ICollection があります。このコレクションは、私が何をしても、MVC によって保存/バインドされることは決してないようです。
このコレクションを実行時に (データベースから取得した後) 手動で何かに設定すると、コレクションはもちろん null ではなくなりますが、設定してデータベースに保存すると、傾向は常に null になります。データベースから取得します。
大学モデル:
public class UniversityModel
{
[Key]
public string univ_id { get; set; }
public string ipeds_id { get; set; }
public string name { get; set; }
public bool religious { get; set; }
#region Location Information
public string city { get; set; }
public string state { get; set; }
public string urbanization { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
#endregion
public ICollection<TrendModel> trends { get; set; }
}
トレンドモデル:
public class TrendModel
{
[Key]
public string id { get; set; }
public ushort year { get; set; }
public uint? capacity { get; set; }
public uint? rate { get; set; }
public uint? meals { get; set; }
public bool? forProfit { get; set; }
public bool? control { get; set; }
public string degree { get; set; }
public bool? landgrant { get; set; }
public bool? athletic { get; set; }
public string calendar { get; set; }
public bool? required { get; set; }
}
関連性があるかどうかはわかりませんが、トレンドを空のリストに設定する UniversityModel のコンストラクターを入れると、トレンドは null ではなくなり、空のリストになります。
これはモデルバインディングの問題ですか、それとも投稿の問題ですか? MVC と ASP.NET についてはまったくの初心者です。