Привет, у меня проблема с отображением в Nhibernate. Когда я запускаю запрос linq, ссылающийся на один из классов компонентов моей сущности, я получаю исключение QueryException, как показано ниже:
не удалось разрешить свойство: ClosedCases of: Project.Entities.Headline
У меня есть одна таблица с записями, которую я хочу отобразить в несколько объектов моего заголовка.
Вопрос:
Что-то неправильно настроено в моем отображении?
Моя Headline
сущность разделена на несколько логических классов, как показано ниже
public class Headline:Entity
{
public virtual DateTime Date { get; set; }
public virtual TeamTarget Teamtarget { get; set; }
}
public class TeamTarget : Entity
{
public virtual DateTime FromDate { get; set; }
public virtual DateTime ToDate { get; set; }
public virtual TargetItem AchievedTarget { get; set; }
public virtual Team Team { get; set; }
}
public class TargetItem : Entity
{
public virtual decimal ClosedCases { get; set; }
public virtual decimal Invoicing { get; set; }
}
Файл сопоставления:
public class HeadlineMap: ClassMap<Headline>
{
public HeadlineMap()
{
Table("Headlines.Headlines");
Id(x => x.Id).Column("HeadlinesId");
Map(x => x.Date);
Component(x => x.Teamtarget, t =>
{
t.References(x => x.Team).Column("TeamId").Cascade.None();
t.Component(x => x.AchievedTarget, ti =>
{
ti.Map(x => x.Invoicing).Column("TeamInvoicing");
ti.Map(x => x.ClosedCases).Column("TeamClosedCases");
});
});
Запрос Linq, который я выполняю, выглядит следующим образом:
decimal closedCases = _headlineRepository.All
.Where(x =>
x.Date >= DateTimeExtensionMethods.FirstDayOfMonthFromDateTime(selectMonthFromDate)
&& x.Date <= DateTimeExtensionMethods.LastDayOfMonthFromDateTime(selectMonthFromDate)
&& x.Teamtarget.Team.Id == teamId
).Average(x => x.Teamtarget.AchievedTarget.ClosedCases);
Я знаю, что могу получить доступ к заголовку статьи, используя сущность команды по идентификатору команды, и это работает, просто возникла проблема с отображением достигнутой цели.
есть идеи?