Создание отчетов с помощью NHibernate
У меня есть следующие объекты (упрощено для этого примера), сопоставленные с помощью 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; }
}
Есть также клиентская сущность, которая имеет одну или несколько политик. Каждый полис имеет вложения (Holding) ценных бумаг (акции и фонда). Я хотел бы использовать отчет (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?