Я видел связанный с этим вопрос: Sitecore Glass Mapper всегда нулевой
Но, к сожалению, это не дает решения для моего случая.
Вот фрагмент кода:
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 не равно null t равно 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
.
Это не похоже на языковую проблему, как указано в ссылке, указанной в самом начале. И я уже довольно долго с этим борюсь, но безрезультатно...
Спасибо!
{F21C04FE-8826-41AB-9F3C-F7BDF5B35C76}
имеет действительную версию? - person Kevin Brechbühl   schedule 02.07.2014