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); }
protected virtual CompositeIdentityPart <T> KeyReference(Member property, IEnumerable <string> columnNames, Action <KeyManyToOnePart> customMapping) { var key = new KeyManyToOneMapping { Name = property.Name, Class = new TypeReference(property.PropertyType), ContainingEntityType = typeof(T) }; foreach (var column in columnNames) { key.AddColumn(new ColumnMapping { Name = column }); } var keyPart = new KeyManyToOnePart(key); if (customMapping != null) { customMapping(keyPart); } keys.Add(key); return(this); }
public void ShouldWriteColumns() { var mapping = new KeyManyToOneMapping(); mapping.AddColumn(new ColumnMapping()); writer.VerifyXml(mapping) .Element("column").Exists(); }
KeyManyToOnePart Reference(Member property, IEnumerable <string> columnNames) { var reference = new KeyManyToOneMapping { Name = property.Name, Class = new TypeReference(property.PropertyType), ContainingEntityType = typeof(T) }; foreach (var column in columnNames) { reference.AddColumn(new ColumnMapping { Name = column }); } var keyPart = new KeyManyToOnePart(reference); mapping.AddReference(reference); return(new KeyManyToOnePart(reference)); }
public void ColumnsCollectionHasSameCountAsMapping() { mapping.AddColumn(new ColumnMapping()); inspector.Columns.Count().ShouldEqual(1); }