ошибка rdlc #, не знаю, почему

#reporting-services #nested #reportviewer #rdlc

#службы отчетов #вложенный #просмотр отчетов #rdlc

Вопрос:

у меня есть отчет, в котором я отображаю некоторые значения подклассов. Для некоторых это работает хорошо, но не для других, и я не знаю почему. Модели :

 [Serializable]
public partial class CompanyProvider
{

    public int CompanyProviderId { get; set; }
    public string CompanyNo { get; set; }
    public string LPID { get; set; }
    public string VATNo { get; set; }

    public int? CompanyProviderAddressId { get; set; }
    [ForeignKey("CompanyProviderAddressId")]
    public virtual CompanyProviderAddress CompanyProviderAddress { get; set; }       

    public int? CompanyProviderAddressBillingId { get; set; }
    [ForeignKey("CompanyProviderAddressBillingId")]
    public virtual CompanyProviderAddressBilling CompanyProviderAddressBilling { get; set; }

    public int? CompanyProviderContactManagerId { get; set; }
    [ForeignKey("CompanyProviderContactManagerId")]
    public virtual CompanyProviderContactManager CompanyProviderContactManager { get; set; }

    public int? CompanyProviderBankId { get; set; }
    [ForeignKey("CompanyProviderBankId")]
    public virtual CompanyProviderBank CompanyProviderBank { get; set; }
   ...
}

[Serializable]
public partial class CompanyProviderBank
{
    public int CompanyProviderBankId { get; set; }

    public int? BankId { get; set; }
    public virtual Bank Bank { get; set; }

    public string Postcode { get; set; }
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
}

[Serializable]
public partial class CompanyProviderAddress
{
    public int CompanyProviderAddressId { get; set; }
    public string Postcode { get; set; }
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
}
 

Это работает для CompanyProviderAddress и CompanyProviderAddress, которые имеют только «простые» свойства (string, int …), Но это не работает для CompanyProviderContactManager и CompanyProviderBank, которые имеют сложные свойства (например, Bank для CompanyProviderBank).
Все сериализуемо, это работает в моем отчете :

 =First(Fields!CompanyProviderAddress.Value.City(), "CompPro")
 

Но это не работает, дайте мне #Error

 =First(Fields!CompanyProviderBank.Value.City(), "CompPro")
 

Есть идеи? Или, может быть, кто-то знает, как получить более подробную информацию о #error, что-то более явное?
Спасибо

Комментарии:

1. Поля инициализированы и имеют значение?

2. Да, я попытался отобразить Город, например, в параметре, и это работает, значение отображается с параметром… :/

3. Странно.. Выдает ли это ошибку при попытке показать объект (CompanyProviderAddress. Значение или CompanyProviderBank. Значение)?

4. Да, оба выдают ошибки. Это нормально?

Ответ №1:

Возможно, ваши объекты null . Вы можете проверить, имеют ли они значение null следующим образом:

 =IIF(IsNothing(First(Fields!CompanyProviderBank.Value.City)), 0,First(Fields!CompanyProviderBank.Value.City))
 

Я не совсем уверен, что приведенное выше указано в правильном синтаксисе, пожалуйста, дайте мне знать, если это не так.