Создание отчетов с помощью NHibernate - PullRequest
1 голос
/ 27 октября 2009

У меня есть следующие объекты (упрощенно для этого примера), сопоставленные с помощью Fluent NHibernate:

public class Stock : Security
{
 public virtual string TickerName { get; set; }
 public override string GetName()
 {
  return TickerName;
 }
}

public class Fund : Security
{
 public virtual string FullName { get; set; }
 public virtual string TickerDomain { get; set; }
 public override string GetName()
 {
  return FullName;
 }
}

public abstract class Security
{
 public virtual int Id { get; set; }
 public virtual string Ticker { get; set; }
 public virtual string ISINCode { get; set; }
 public abstract string GetName();
}

public class Holding
{
 public virtual int Id { get; set; }
 public virtual Security Security { get; set; }
 public virtual int Units { get; set; }
 public virtual decimal AcquisitionValue { get; set; }
}

Существует также Клиент сущность, у которой есть на одну или более Политика . У каждой Политики есть запасы ( владения ) ценных бумаг ( Акции и Фонда ). Я хотел бы использовать отчет ( HoldingReport ) для отображения ценных бумаг, которые в настоящее время находятся в запасах любой политики. HoldingReport - это просто DTO, и он не отображается. В отчете следует подсчитать, сколько политик в настоящее время имеет защиту, и включает в себя имя (из метода GetName) и тип безопасности (акции или фонды). Вот холдинг-отчет.

public class HoldingReport
{
 public virtual string SecurityType { get; set; }
 public virtual string SecurityName { get; set; }
 public virtual int ActiveHoldings { get; set; }
}

Как бы вы сделали это, используя Criteria и DetachedCriteria?

...