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);
        }
Exemplo n.º 2
0
        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 SetUp()
 {
     this.mapping = new KeyManyToOneMapping();
     this.keyPart = new KeyManyToOnePart(mapping);
 }