实体框架5未加载属性
本文关键字:加载 属性 框架 实体 | 更新日期: 2023-09-27 18:14:27
我正在研究一个EF5代码优先数据库,它在外键上给我带来了很多麻烦。也很抱歉,如果这个问题已经在其他地方得到了回答,但我已经在这里看了无数的问题,到目前为止没有一个帮助。
我有一个用户类public class User
{
[Key()]
[HiddenInput(DisplayValue=false)]
public int UserId { get; set; }
[Required]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[ScaffoldColumn(false)]
public CustomClass Custom { get; set; }
}
这个自定义类
public class CustomClass
{
[Key()]
[HiddenInput(DisplayValue = false)]
public int CustomClassId { get; set; }
[Required]
public string Name { get; set; }
}
和这个DataContext
public class SilkDbContext3 : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<CustomClass> CustomClasses { get; set; }
}
现在,问题是我可以通过控制器完美地保存一个PoseAnimation。我还可以使用基本属性(Username, Password)发布和更新用户,但是当我向用户添加自定义类时,它将其保存为数据库行的外键,但是当我想检索用户时,dbcontext只是为自定义类返回null(无论我是通过GET检索还是智能感知检索)。有人能帮我一下吗?
您需要显式地或急切地加载相关数据,或者如果使用延迟加载,则将Custom
属性标记为virtual。