У меня есть абстрактный базовый класс, который наследует класс Entity класса Sharp Arch:
/// <summary>
/// defines an entity that will ne indexed by a search crawler and offered up as full-text searchable
/// </summary>
public abstract class IndexedEntity : Entity
{
[DocumentId]
public override int Id
{
get { return base.Id; }
protected set { base.Id = value; }
}
}
Это устаревшая база данных, и фактически столбец Id называется «HelpPageID», поэтому у меня есть некоторые переопределения отображения, такие как:
mapping.Id(x => x.Id, "HelpPageID");
Сгенерированный sql для запросов HelpPage
работает нормально, когда я просто наследую Entity
.Но наследуя IndexedEntity
, при переводе в sql переопределение имени столбца игнорируется и вместо него используется Id
, что приводит к ошибке.
Редактировать Кажется общей проблемой спереопределение, поскольку размещение переопределения непосредственно в классе имеет тот же чистый эффект