我的上下文中有以下实体:
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 键/数据为空。
public ActionResult Index()
{
Logger.Debug("Index");
RegistrationServerContext dbNotLazy = new RegistrationServerContext();
return View(dbNotLazy.Assets.ToList());
}
当我设置断点并检查我的 dbNotLazy.Asset 数据时,AssetType 外键为空。
我认为这可能与延迟加载有关,但如您所见,我在 View 调用之前创建了一个新上下文。我可能做错了什么?