0

我正在开发一个 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。我还可以使用基本属性(用户名、密码)发布和更新用户,但是当我向用户添加自定义类时,它会将其保存为数据库行中的外键,但是当我想检索用户时, dbcontext 只是为自定义类返回 null(无论我是通过 GET 还是智能感知检索)。有谁可以帮我离开这里吗?

4

1 回答 1

0

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

于 2013-05-21T09:07:40.670 回答