protected virtual CompositeIdentityPart <T> KeyReference(Member member, IEnumerable <string> columnNames, Action <KeyManyToOnePart> customMapping) { onMemberMapped(member); var key = new KeyManyToOneMapping { ContainingEntityType = typeof(T) }; key.Set(x => x.Name, Layer.Defaults, member.Name); key.Set(x => x.Class, Layer.Defaults, new TypeReference(member.PropertyType)); foreach (var column in columnNames) { var columnMapping = new ColumnMapping(); columnMapping.Set(x => x.Name, Layer.Defaults, column); key.AddColumn(columnMapping); } var keyPart = new KeyManyToOnePart(key); if (customMapping != null) { customMapping(keyPart); } keys.Add(key); return(this); }
public static void ForeignKey(this KeyManyToOneMapping keyManyToOneMapping, string foreignKeyName) { if (!keyManyToOneMapping.IsSpecified("ForeignKey")) { keyManyToOneMapping.Set <string>(c => c.ForeignKey, 1, foreignKeyName); } }
public KeyManyToOnePart ForeignKey(string foreignKey) { mapping.Set(x => x.ForeignKey, Layer.UserSupplied, foreignKey); return(this); }
public KeyManyToOnePart(KeyManyToOneMapping mapping) { this.mapping = mapping; Access = new AccessStrategyBuilder <KeyManyToOnePart>(this, value => mapping.Set(x => x.Access, Layer.UserSupplied, value)); NotFound = new NotFoundExpression <KeyManyToOnePart>(this, value => mapping.Set(x => x.NotFound, Layer.UserSupplied, value)); }
public KeyManyToOnePart(KeyManyToOneMapping mapping) { this.mapping = mapping; Access = new AccessStrategyBuilder<KeyManyToOnePart>(this, value => mapping.Set(x => x.Access, Layer.UserSupplied, value)); NotFound = new NotFoundExpression<KeyManyToOnePart>(this, value => mapping.Set(x => x.NotFound, Layer.UserSupplied, value)); }
public new void ForeignKey(string name) { mapping.Set(x => x.ForeignKey, Layer.Conventions, name); }