MVC3 Razor EF не может проверить в строго типизированном представлении наличие объекта - PullRequest
0 голосов
/ 27 ноября 2011

У меня строго типизированное представление MVC3 Razor, в котором я хочу отобразить одну или другую ссылку в зависимости от того, существует ли дочерний объект в модели. Я не могу сказать, как проверить наличие объекта, что, по моему мнению, было бы довольно просто. Я использую Entity Framework 4.1 для генерации базовых отношений, базы данных и сущностей.

Мои классы POCO (сокращенно):

public class Pet
{
    public int PetID { get; set; }

    public virtual InsurancePolicy InsurancePolicy { get; set; }
}

public class InsurancePolicy
{
    [ForeignKey(Pet)]
    public int InsurancePolicyID { get; set; }

    public virtual Pet Pet { get; set; }
}

На мой взгляд, я хотел оценить что-то вроде:

@foreach(var item in Model) 
{
    @if(string.IsNullOrEmpty(item.InsurancePolicy.InsuranceID.ToString()))
    {
        @Html.ActionLink("action link to create new InsurancePolicy")
    }
    else
    {
        @Html.ActionLink("action link to edit existing InsurancePolicy")
    }
}

Конечно, если у объекта Pet еще нет ассоциированного InsurancePolicy, условное условие не выполняется: ссылка на объект не установлена ​​для экземпляра объекта. Мне не удалось найти эквивалент IsObject или какой-либо способ оценить отсутствие объекта без появления этой ошибки.

Может кто-нибудь указать мне, как сделать эту работу?

1 Ответ

3 голосов
/ 27 ноября 2011

Вы ищете

if (item.InsurancePolicy == null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...