Ich habe die folgende Einheit und Fluent NHibernate-Mapping:NHibernate Mapping eine Eigenschaft auf die Existenz einer Reihe
public class Advertiser
{
public virtual int AdvertiserId { get; set; }
public virtual string AdvertiserName { get; set; }
public virtual bool IsPriorityEntity { get; set; }
}
public class AdvertiserMapping : ClassMap<Advertiser>
{
public AdvertiserMapping()
{
Id(a => a.AdvertiserId).GeneratedBy.Identity();
Map(a => a.AdvertiserName);
}
}
Die IsPriorityEntity Eigenschaft wird in der Datenbank, die von der Existenz einer Zeile in der PriorityEntity Tabelle gespeichert.
Die Abfrage sieht ungefähr so aus:
Select
AdvertiserId,
AdvertiserName,
CASE WHEN pe.PriorityEntityID IS NOT NULL
THEN 1
ELSE 0 END as IsPriorityEntity
From Advertisers adv
Left Join PriorityEntity pe
on pe.PriorityEntityID = adv.AdvertiserID
and pe.EntityTypeID = 6
ich ratlos bin, wie so etwas zu kartieren.