如何填充虚拟实体框架属性?

时间:2016-01-17 21:03:43

标签: c# asp.net-mvc entity-framework

我刚刚开始使用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();
    }
}

编辑 - 更改为以前的版本并更新了数据库,似乎正在运行。必须在模型中出错。

0 个答案:

没有答案