/// <summary> /// Retrieves the first/only entity that has a reference matching the provided parameters. /// </summary> /// <param name="propertyName">The name of the property to query for.</param> /// <param name="referencedEntityType">The type of entity being referenced.</param> /// <param name="referencedEntityID">The ID of the referenced entity to match.</param> /// <returns>An array of the objects retrieved.</returns> public override T GetEntityWithReference <T>(string propertyName, Type referencedEntityType, Guid referencedEntityID) { IDataIndexer indexer = Provider.InitializeDataIndexer(); indexer.AutoRelease = AutoRelease; indexer.DataStore = DataStore; T[] entities = indexer.GetEntitiesWithReference <T>(propertyName, referencedEntityType, referencedEntityID); if (entities.Length == 0) { return(default(T)); } else { return(entities[0]); } }