2013-05-21 105 views
0

我正在EF5代码优先数据库上工作,它给我一个外键很麻烦。如果这个问题已经在别的地方得到解答,也很抱歉,但是我已经看到了无数的问题,而且迄今为止还没有任何帮助。实体框架5不加载属性

我有这样的用户类

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还是intellisense进行检索)。有人可以帮我从这里出去吗?

回答

0

如果您使用延迟加载,则需要明确或eagerly加载相关数据,或者将Custom属性标记为虚拟。