我正在使用ASP.NET MVC 3
和Entity Framework 4.1 code first
。
我在数据库上下文类中定义了以下内容:
public class HefContext : DbContext
{
public DbSet<GrantApplication> GrantApplications { get; set; }
public DbSet<MaritalStatusType> MaritalStatusTypes { get; set; }
}
我的MaritalStatusType类:
public class MaritalStatusType : IEntity
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
}
在我的视图模型中,我有以下内容:
public class GrantApplicationDetailsViewModel
{
public int MaritalStatusTypeId { get; set; }
public MaritalStatusType MaritalStatusType { get; set; }
}
查看显示婚姻状况类型名称的代码:
<tr>
<td><label>Marital Status:</label></td>
<td>@Model.MaritalStatusType.Name</td>
</tr>
在我的控制器的操作方法中,我通过id获取授权应用程序对象。它具有来自授权申请表的婚姻状况类型ID。然后,我将grant应用程序对象映射到我的GrantApplicationDetailsViewModel。没关系。但是当我想在我的视图中指定婚姻状况类型的名称时,它会给我错误object not set to an instance of an object
。我怎么能让这个工作?
答案 0 :(得分:0)
我刚刚在我的grant应用程序对象中添加了虚拟属性,现在它似乎工作得很好。
public class GrantApplication : IEntity
{
public int Id { get; set; }
public int MaritalStatusTypeId { get; set; }
public virtual MaritalStatusType MaritalStatusType { get; set; }
}