Как ссылаться на объект в вашей модели представления, используя EF 4.1 - PullRequest
0 голосов
/ 14 сентября 2011

Я использую 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>

В методе действия моего контроллера я получаю заявку на грантобъект по идентификатору.Он имеет идентификатор типа семейного положения из таблицы заявки на грант.Затем я сопоставляю объект приложения предоставления с моим GrantApplicationDetailsViewModel.Все в порядке.Но когда я хочу указать название типа семейного положения в моем представлении, это дает мне ошибки, object not set to an instance of an object.Как бы мне заставить это работать?

1 Ответ

0 голосов
/ 14 сентября 2011

Я только что добавил виртуальное свойство в свой объект приложения гранта, и теперь оно, кажется, работает просто отлично.

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

   public int MaritalStatusTypeId { get; set; }
   public virtual MaritalStatusType MaritalStatusType { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...