Sitecore 8.2 Glass Mapper Ошибка создания элемента

Недавно мы обновили наш проект для работы на Sitecore 8.2, Rev3, в рамках обновления нам пришлось обновить Glass Mapper, который теперь работает на версии 4.3.4.197.

Однако теперь мы получаем ошибку при попытке создать элемент:

            var service = new SitecoreService(_database);
            service.Create(parent, redHotDeal);

Мы получаем следующее исключение: Не удалось найти конфигурацию для родительского элемента типа Sitecore.Data.Items.Item.

Трассировки стека:

в Glass.Mapper.Sc.SitecoreService.Create[T,TK](TK parent, T newItem, логическое значение updateStatistics, логическое значение молчание) в c:\TeamCity\buildAgent\work\8567e2ba106d3992\Source\Glass.Mapper.Sc\SitecoreService. cs:строка 200 в TTC.IV.Infrastructure.Import.RedHotDeals.RedHotDealsImporter.ImportRedHotDeals(IEnumerable`1 redhotdeals, родительский элемент) в G:\TFSProjects\IV\Source\TTC.IV.Infrastructure\Import\RedHotDeals\RedHotDealsImporter.cs : строка 104

Кто-нибудь сталкивался с этой проблемой или знает, что может быть ее причиной?

Еще немного информации о настройке: родительский элемент имеет тип Sitecore.Data.Items.Item элемент redHotDeal имеет тип DealCollectionItem.

Модель DealCollectionItem выглядит так:

с помощью системы; использование Glass.Mapper.Sc.Configuration.Attributes;

namespace TTC.IV.Model.Templates.Items
{
    [SitecoreType(TemplateId = TemplateStringId)]
    public class DealCollectionItem : Item
    {
        public new static Guid TemplateId = new Guid(TemplateStringId);
        private const string TemplateStringId = "{998CA212-92D5-4566-B877-44D1F378EFD6}";

    /// <summary>
    /// Gets or sets the mv code.
    /// </summary>
    /// <value>
    /// The mv code.
    /// </value>
    [SitecoreField]
    public virtual string MvCode { get; set; }

    /// <summary>
    /// Gets or sets the departure code.
    /// </summary>
    /// <value>
    /// The departure code.
    /// </value>
    [SitecoreField]
    public virtual string DepartureCode { get; set; }

    /// <summary>
    /// Gets or sets the discount.
    /// </summary>
    /// <value>
    /// The discount.
    /// </value>
    [SitecoreField]
    public virtual double Discount { get; set; }

    /// <summary>
    /// Gets or sets the promo code.
    /// </summary>
    /// <value>
    /// The promo code.
    /// </value>
    [SitecoreField]
    public virtual string PromoCode { get; set; }

    /// <summary>
    /// Gets or sets the price.
    /// </summary>
    /// <value>
    /// The price.
    /// </value>
    [SitecoreField]
    public virtual double Price { get; set; }

    /// <summary>
    /// Gets or sets the promo amount.
    /// </summary>
    /// <value>
    /// The promo amount.
    /// </value>
    [SitecoreField]
    public virtual double PromoAmount { get; set; }

    /// <summary>
    /// Gets or sets the table amount.
    /// </summary>
    /// <value>
    /// The table amount.
    /// </value>
    [SitecoreField]
    public virtual int TableAmount { get; set; }

    /// <summary>
    /// Gets or sets the import region.
    /// </summary>
    /// <value>
    /// The import region.
    /// </value>
    public string ImportRegion { get; set; }
}

}


person Igor    schedule 24.05.2017    source источник


Ответы (1)


Теперь это решено. Я последовал совету согласно https://github.com/mikeedwards83/Glass.Mapper/issues/305 и сопоставили Item как свойство, назвав его 'Item' и позволив ему автоматически сопоставляться.

person Igor    schedule 25.05.2017