public void ShouldWriteOneToManyForOneToManyMapping()
        {
            var mapping = new OneToManyMapping();

            writer.VerifyXml(mapping)
            .RootElement.HasName("one-to-many");
        }
Пример #2
0
        public override void establish_context()
        {
            manyToOneARankedFirstToHolder = new ManyToOneMapping();
            manyToOneARankedFirstToHolder.Set(x => x.Class, Layer.Defaults, new TypeReference(typeof(Holder)));
            manyToOneARankedFirstToHolder.Set(x => x.Name, Layer.Defaults, "ARankedFirstProperty");
            manyToOneARankedFirstToHolder.ContainingEntityType = typeof(ARankedFirst);
            manyToOneARankedFirstToHolder.Member = new PropertyMember(typeof(ARankedFirst).GetProperty("ARankedFirstProperty"));

            manyToOneBRankedSecondToHolder = new ManyToOneMapping();
            manyToOneBRankedSecondToHolder.Set(x => x.Class, Layer.Defaults, new TypeReference(typeof(Holder)));
            manyToOneBRankedSecondToHolder.Set(x => x.Name, Layer.Defaults, "BRankedSecondProperty");
            manyToOneBRankedSecondToHolder.ContainingEntityType = typeof(BRankedSecond);
            manyToOneBRankedSecondToHolder.Member = new PropertyMember(typeof(BRankedSecond).GetProperty("BRankedSecondProperty"));

            var relationship = new OneToManyMapping();

            relationship.Set(x => x.Class, Layer.Defaults, new TypeReference(typeof(BRankedSecond)));
            relationship.ContainingEntityType = typeof(Holder);

            collectionMappingToBRankedSecond = CollectionMapping.Bag();
            collectionMappingToBRankedSecond.Set(x => x.ChildType, Layer.Defaults, typeof(BRankedSecond));
            collectionMappingToBRankedSecond.Set(x => x.Name, Layer.Defaults, "ColectionOfBRankedSeconds");
            collectionMappingToBRankedSecond.Set(x => x.Relationship, Layer.Defaults, relationship);
            collectionMappingToBRankedSecond.ContainingEntityType = typeof(Holder);

            visitor = new RelationshipPairingVisitor(A.Fake <PairBiDirectionalManyToManySidesDelegate>());
        }
        public void Initialize()
        {
            MockChildMapping = new Mock<IChildMapping<OneToManyItem>>();
            MockGridReader = new Mock<IGridReader>();

            OneToManyMapping = new OneToManyMapping<ParentItem, OneToManyItem>(child => child.Id, child => child.ParentId, (parent, children) => parent.Children = children.ToList());
        }
Пример #4
0
        static void SetRelationship(Member property, ClassMappingBase classMap, CollectionMapping mapping)
        {
            var relationship = new OneToManyMapping
            {
                ContainingEntityType = classMap.Type
            };

            relationship.Set(x => x.Class, Layer.Defaults, new TypeReference(property.PropertyType.GetGenericArguments()[0]));
            mapping.Set(x => x.Relationship, Layer.Defaults, relationship);
        }
Пример #5
0
        private void SetRelationship(Member property, ClassMappingBase classMap, ICollectionMapping mapping)
        {
            var relationship = new OneToManyMapping
            {
                Class = new TypeReference(property.PropertyType.GetGenericArguments()[0]),
                ContainingEntityType = classMap.Type
            };

            mapping.SetDefaultValue(x => x.Relationship, relationship);
        }
Пример #6
0
 /// <summary>
 /// Specify the relationship is a one-to-many, this implies the key and value columns of the
 /// dictionary will be stored in the child table.
 /// </summary>
 /// <param name="relationshipConfiguration">Builder for one-to-many</param>
 /// <returns>Builder</returns>
 public MapBuilder <TKey, TValue> OneToMany(Action <OneToManyBuilder> relationshipConfiguration)
 {
     mapping.Element          = null;
     mapping.CompositeElement = null;
     mapping.Relationship     = oneToMany = oneToMany ?? new OneToManyMapping();
     mapping.Relationship.As <OneToManyMapping>(re =>
     {
         re.Class     = new TypeReference(ValueType);
         re.ChildType = ValueType;
     });
     relationshipConfiguration(new OneToManyBuilder(oneToMany));
     return(this);
 }
Пример #7
0
        protected override ICollectionRelationshipMapping GetRelationship()
        {
            var mapping = new OneToManyMapping(relationshipAttributes.Clone())
            {
                ContainingEntityType = entity
            };

            if (isTernary && valueType != null)
            {
                mapping.Set(x => x.Class, Layer.Defaults, new TypeReference(valueType));
            }

            return(mapping);
        }
Пример #8
0
        protected OneToManyPart(Type entity, Member member, Type collectionType)
            : base(entity, member, collectionType)
        {
            this.entity = entity;
            childType   = collectionType;

            cascade  = new CollectionCascadeExpression <OneToManyPart <TChild> >(this, value => collectionAttributes.Set(x => x.Cascade, value));
            notFound = new NotFoundExpression <OneToManyPart <TChild> >(this, value => relationshipMapping.NotFound = value);

            collectionAttributes.SetDefault(x => x.Name, member.Name);

            relationshipMapping = new OneToManyMapping
            {
                ContainingEntityType = entity
            };
        }
 public override void ProcessOneToMany(OneToManyMapping oneToManyMapping)
 {
     ProcessCollectionContents(oneToManyMapping);
 }
Пример #10
0
 public void CreateDsl()
 {
     mapping   = new OneToManyMapping();
     inspector = new OneToManyInspector(mapping);
 }
Пример #11
0
 public virtual void ProcessOneToMany(OneToManyMapping oneToManyMapping)
 {
 }
Пример #12
0
 public virtual void Visit(OneToManyMapping mapping)
 {
 }
Пример #13
0
 public OneToManyBuilder(OneToManyMapping mapping)
 {
     this.mapping = mapping;
 }
Пример #14
0
        public override void ProcessOneToMany(OneToManyMapping mapping)
        {
            var writer = serviceLocator.GetWriter <OneToManyMapping>();

            document = writer.Write(mapping);
        }
Пример #15
0
 public OneToManyInspector(OneToManyMapping mapping)
 {
     this.mapping = mapping;
 }
Пример #16
0
 public OneToManyInstance(OneToManyMapping mapping)
     : base(mapping)
 {
     this.mapping = mapping;
 }