public void VerifyEntitiesReferencedByIng1ToId3() { var rev1_related = AuditReader().CreateQuery() .ForEntitiesAtRevision(typeof(SetRefIngEmbIdEntity), 1) .Add(AuditEntity.RelatedId("Reference").Eq(id3)) .Add(AuditEntity.Id().Eq(id1)) .GetResultList(); var rev2_related = AuditReader().CreateQuery() .ForEntitiesAtRevision(typeof(SetRefIngEmbIdEntity), 2) .Add(AuditEntity.RelatedId("Reference").Eq(id3)) .Add(AuditEntity.Id().Eq(id1)) .GetResultList(); var rev3_related = AuditReader().CreateQuery() .ForEntitiesAtRevision(typeof(SetRefIngEmbIdEntity), 3) .Add(AuditEntity.RelatedId("Reference").Eq(id3)) .Add(AuditEntity.Id().Eq(id1)) .GetResultList(); CollectionAssert.IsEmpty(rev1_related); CollectionAssert.AreEquivalent(new[] { new SetRefIngEmbIdEntity { Id = id1, Data = "x" } }, rev2_related); CollectionAssert.AreEquivalent(new[] { new SetRefIngEmbIdEntity { Id = id1, Data = "x" } }, rev3_related); }
protected override object QueryForReferencedEntity(IAuditReaderImplementor versionsReader, EntityInfo referencedEntity, object primaryKey, long revision, bool removed) { return(versionsReader.CreateQuery().ForEntitiesAtRevision(referencedEntity.EntityClass, revision) .Add(AuditEntity.RelatedId(_owningReferencePropertyName).Eq(primaryKey)) .GetSingleResult()); }