我正在开发一个 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 还是智能感知检索)。有谁可以帮我离开这里吗?