コード例 #1
0
        /// <summary>
        /// Create child table with multiple owners (OwnerType + OwnerId)
        /// </summary>
        /// <param name="id">Table Id</param>
        /// <returns></returns>
        public static ChildDataTableConfig <TParent, TChild, TChildId> MultipleOwners(string id)
        {
            var config = new ChildDataTableConfig <TParent, TChild, TChildId>(id)
            {
                RelationshipType = RelationshipType.MultipleOwners
            };

            return(config);
        }
コード例 #2
0
        /// <summary>
        /// Create child table with many-to-many relation
        /// </summary>
        /// <param name="id">Table Id</param>
        /// <param name="childsFunc">Child entities accessor</param>
        /// <returns></returns>
        public static ChildDataTableConfig <TParent, TChild, TChildId> ManyToMany(string id, Expression <Func <TParent, IList <TChild> > > childsFunc)
        {
            var config = new ChildDataTableConfig <TParent, TChild, TChildId>(id)
            {
                RelationshipType = RelationshipType.ManyToMany,
                Relationship_ChildsCollection = ExpressionHelper.GetExpressionText(childsFunc)
            };

            return(config);
        }
コード例 #3
0
        /// <summary>
        /// Create child table with one-to-many relation
        /// </summary>
        /// <param name="id">Table Id</param>
        /// <param name="parentFunc">Parent accessor</param>
        /// <returns></returns>
        public static ChildDataTableConfig <TParent, TChild, TChildId> OneToMany(string id, Expression <Func <TChild, TParent> > parentFunc)
        {
            var config = new ChildDataTableConfig <TParent, TChild, TChildId>(id)
            {
                RelationshipType          = RelationshipType.OneToMany,
                Relationship_LinkToParent = ExpressionHelper.GetExpressionText(parentFunc)
            };

            return(config);
        }