0

私のコンテキストには次のエンティティがあります。

   public class Asset
    {
        public int AssetId { get; set; }
        public Registration Registration { get; set; }
        [Required]
        [Display(Name = "Asset Type")]
        public AssetType AssetType { get; set; }
        [Required]
        [Range(Constants.SerialNumberStart, Constants.SerialNumberEnd)]
        [DisplayFormat(DataFormatString = "{0:d8}")]
        public int SerialNumber { get; set; }
        [Required]
        [Range(Constants.EquipNumberStart, Constants.EquipNumberEnd)]
        [DisplayFormat(DataFormatString = "{0:d12}")]
        public long EquipNumber { get; set; }
        [Required]
        [Display(Name = "Profile")]
        [Range(Constants.ProfileStart, Constants.ProfileEnd)]
        [DisplayFormat(DataFormatString = "{0:d2}")]
        public int Profile { get; set; }
    }

    public class AssetType
    {
        public int AssetTypeId { get; set; }
        public List<Asset> Asset { get; set; }
        [Required]
        [Display(Name = "Asset Type")]
        [StringLength(40)]
        public string AssetTypeFullName { get; set; }
        [Required]
        [Display(Name = "Asset Alias")]
        [StringLength(8)]
        public string AssetTypeShortName { get; set; }
    }

データベースをシードしましたが、すべて問題ないように見えます。AssetType 外部キーは、AssetType テーブル データへのインデックスを適切に表示します。

しかし、以下のコードでビューのデータを準備しようとすると、AssetType キー/データが null になります。

    public ActionResult Index()
    {
        Logger.Debug("Index");
        RegistrationServerContext dbNotLazy = new RegistrationServerContext();
        return View(dbNotLazy.Assets.ToList());
    }

ブレーク ポイントを設定して dbNotLazy.Asset データを調べると、AssetType 外部キーが null です。

これは遅延読み込みに関係しているのではないかと考えましたが、ご覧のとおり、View 呼び出しの前に新しいコンテキストを作成しています。私は何を間違っているのでしょうか?

4

1 に答える 1