实体框架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检索还是智能感知检索)。有人能帮我一下吗?

实体框架5未加载属性

您需要显式地或急切地加载相关数据,或者如果使用延迟加载,则将Custom属性标记为virtual。