0

我正在尝试将 Sitecore 项目(它在存储桶中不知道这是否相关)转换为特定类型:

var sitecoreService = new SitecoreService("master");
sitecoreService.CreateType<StaffMember>(userItem);

Createtype 方法将站点核心项转换为 <> 之间的类型。但是,当我执行此代码时,出现以下错误:

value cannot be null. parameter name: key

我正在尝试转换为 2 种不同的类型:用户和员工。当我为用户使用上面的代码时,它可以工作,但是当我投射到 Staffmember 时,我得到了错误

用户等级:

[SitecoreType(TemplateId = "{4F6FC236-71C7-46D4-8823-09CBCDD3A233}")]
public class User
{
    [SitecoreId]
    public virtual Guid Id { get; set; }

    [SitecoreInfo(SitecoreInfoType.Name)]
    public virtual string Name { get; set; }

    [SitecoreField]
    public virtual string DatabaseId { get; set; }

    [SitecoreField(FieldName = "Identifier")]
    public virtual string Identifier { get; set; }

}

职员等级:

[SitecoreType(TemplateId = "{717C419F-BCDF-4DC8-8AB5-29ED672DBEC4}")]
    public sealed class StaffMember 
    {
        [SitecoreId]
        public Guid Id { get; set; }

        [SitecoreInfo(SitecoreInfoType.Name)]
        public string Name { get; set; }

        [SitecoreField]
        public string DatabaseId { get; set; }

        [SitecoreField(FieldName = "Identifier")]
        public virtual string Identifier { get; set; }
    }

有没有人遇到过这个错误或知道如何解决它?

提前致谢

4

1 回答 1

0

你可能想用这个:

item.GlassCast<TModel>()
http://glass.lu/Mapper/Sc/Tutorials/Tutorial9

于 2014-09-06T11:33:22.927 回答