public IGenericBusinessObj GetRelation(System.Data.Objects.DataClasses.IEntityWithRelationships currentObject, System.Data.Objects.ObjectStateEntry currentState) { System.Data.Objects.DataClasses.IRelatedEnd currentEnd = GetRelatedEnd(currentObject); if (currentEnd == null) { throw new ApplicationException(string.Format("Could not find {0} on {1}", TargetRoleName, RelationshipName)); } // loaded from DB then call load check to see if loaded before enumerating if (currentState.State == System.Data.EntityState.Modified || currentState.State == System.Data.EntityState.Unchanged) { if (currentEnd.IsLoaded == false) { return(null); } } // find the first one and return it foreach (object childObject in currentEnd) { return(childObject as IGenericBusinessObj); } // if first not found then return return(null); }
GetReference(System.Data.Objects.DataClasses.IEntityWithRelationships currentObject);
public System.Data.Objects.DataClasses.IRelatedEnd GetRelatedEnd(System.Data.Objects.DataClasses.IEntityWithRelationships currentObject) { return(currentObject.RelationshipManager.GetRelatedEnd(RelationshipName, TargetRoleName)); }
public override System.Data.Objects.DataClasses.EntityReference GetReference(System.Data.Objects.DataClasses.IEntityWithRelationships currentObject) { return(currentObject.RelationshipManager.GetRelatedReference <T>(RelationshipName, TargetRoleName)); }