我看到了一个相关的问题: Sitecore Glass Mapper always null
但不幸的是,它并没有为我的情况提供解决方案。
这是一个代码片段:
var db = Factory.GetDatabase("master");
var context = new SitecoreContext();
// the ID of Needed item
var g = new Guid("{F21C04FE-8826-41AB-9F3C-F7BDF5B35C76}");
// just to test if it's possible to fetch item using db.GetItem
var i = db.GetItem(new ID(g), Language.Current, Sitecore.Data.Version.Latest);
// Grab item
var t = context.GetItem<Article>(g);
在上面的代码中: i is not null t is null
文章是简单的类,如:
[SitecoreType(TemplateId = "{4C4EC1DA-EB77-4001-A7F9-E4C2F61A9BE9}")]
public class Article
{
[SitecoreField(FieldName = "Title")]
public string Title { get; set; }
}
Sitecore 中只安装了一种语言 - en,它也已在 web.config 的项目中指定。
此外,我还添加GlassMapperSc.Start();
了我Application_Start
的Global.asax.cs
程序集并将我的程序集添加到包含程序集的列表中,并且我成功地在映射var attributes = new AttributeConfigurationLoader(new[] { "Assembly.Name" });
中找到了我的类。SitecoreContext
正如一开始提供的链接中所述,它看起来不像是语言问题。而且我已经为此苦苦挣扎了很长时间,但是没有运气...
谢谢你!