如何使用EF 4.1在视图模型中引用对象

本文关键字:模型 引用 对象 视图 何使用 EF | 更新日期: 2023-09-27 18:08:37

我使用ASP.NET MVC 3Entity 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>

在控制器的action方法中,我通过id获取授权申请对象。它具有来自拨款申请表的婚姻状态类型id。然后将授予应用程序对象映射到我的GrantApplicationDetailsViewModel。这很好。但是当我想在我的视图中指定婚姻状况类型的名称时,它会给我错误,object not set to an instance of an object。我要怎么让它工作呢?

如何使用EF 4.1在视图模型中引用对象

我刚刚在我的授权申请对象中添加了虚拟财产,现在它似乎工作得很好。

public class GrantApplication : IEntity
{
   public int Id { get; set; }
   public int MaritalStatusTypeId { get; set; }
   public virtual MaritalStatusType MaritalStatusType { get; set; }
}