public DynamicManyToOneAssociationType(DynamicObjectType objectType, DynamicManyToOneRoleType roleType) { this.ObjectType = objectType; roleType.AssociationType = this; this.RoleType = roleType; this.SingularName = roleType.SingularNameForAssociation(objectType); this.PluralName = roleType.PluralNameForAssociation(objectType); }
public DynamicManyToManyRoleType(DynamicObjectType objectType, string singularName) { var pluralizer = objectType.Meta.Pluralizer; this.ObjectType = objectType; this.SingularName = singularName ?? objectType.Type.Name; this.PluralName = pluralizer.Pluralize(this.SingularName); }
internal DynamicObjectType GetOrAddObjectType(Type type) { if (!this.ObjectTypeByType.TryGetValue(type, out var objectType)) { objectType = new DynamicObjectType(this, type); this.ObjectTypeByType.Add(type, objectType); } return(objectType); }
public DynamicManyToManyRoleType AddManyToMany(DynamicObjectType roleObjectType, string roleName) { var roleType = new DynamicManyToManyRoleType(roleObjectType, roleName); this.AddRoleType(roleType); var associationType = new DynamicManyToManyAssociationType(this, roleType); roleObjectType.AddAssociationType(associationType); this.Meta.ResetDerivations(); return(roleType); }
internal static string SingularNameForAssociation(this IDynamicRoleType @this, DynamicObjectType objectType) { return($"{objectType.Type.Name}Where{@this.SingularName}"); }
internal static string PluralNameForAssociation(this IDynamicRoleType @this, DynamicObjectType objectType) { return($"{@this.ObjectType.Meta.Pluralizer.Pluralize(objectType.Type.Name)}Where{@this.SingularName}"); }