我刚刚开始使用EF,我试图了解模型中的一些属性,我有类:
public class Activity
{
[Key]
[Required]
public int ID { get; set; }
[Required]
public int ActivityTypeID { get; set; }
public virtual ActivityType ActivityType { get; set; }
}
public class ActivityType
{
[Key]
[Required]
public int ID { get; set; }
[Required]
public string Name { get; set; }
}
在我打电话的一个动作中:
ApplicationDbContext db = new ApplicationContext();
var activity = db.Activities.First();
string activityTypeName = activity.ActivityType.Name;
我是否应该根据activity.ActivityType
中的主键填写ActivityTypeID
? (当我尝试访问activity.ActivityType.Name时,我得到一个NullReferenceException)
[上面编辑,忘了我是专门访问activity.ActivityType.Name]
如果没有那么它有什么意义呢?
编辑:请求的上下文类:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Activity> Activities { get; set; }
public DbSet<ActivityType> ActivityTypes { get; set; }
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
编辑 - 更改为以前的版本并更新了数据库,似乎正在运行。必须在模型中出错。