public P InnerJoin <RE>(string fromAttributeName, string toAttributeName, Action <IJoinedEntity <P, E, RE> > expression) where RE : Entity, new() { var relatedRecordType = new RE().LogicalName; var joinEntity = new JoinedEntity <P, E, RE>(JoinOperator.Inner, RecordType, fromAttributeName, relatedRecordType, toAttributeName, this); expression(joinEntity); LinkEntities.Add(joinEntity.ToLinkEntity()); return((P)Parent); }
public P InnerJoin <RE>(string fromAttributeName, string toAttributeName, Action <IJoinedEntity <P, E, RE> > expression) where RE : Entity, new() { _ = expression ?? throw new ArgumentNullException(nameof(expression)); var relatedRecordType = new RE().LogicalName; var joinEntity = new JoinedEntity <P, E, RE>(JoinOperator.Inner, RecordType, fromAttributeName, relatedRecordType, toAttributeName); expression(joinEntity); JoinedEntities.Add(joinEntity); return((P)Parent); }