Exemple #1
0
        private string Releations()
        {
            var code = new StringBuilder();

            foreach (TableReleation rl in Entity.Releations)
            {
                TableReleation releation = rl;
                EntityConfig   friend    = Entities.FirstOrDefault(p => p.Name == releation.Friend);
                if (friend == null)
                {
                    continue;
                }
                switch (releation.Releation)
                {
                case 0:
                case 1:
                    code.Append(Releation1V1Code(releation));
                    break;

                case 2:
                    code.Append(ReleationCode2(releation));
                    break;
                }
            }
            foreach (EntityConfig friend in Entities.Where(p => p != Entity))
            {
                foreach (TableReleation releation in friend.Releations.Where(p => p.Friend == Entity.Name))
                {
                    code.Append(Releationx1V1reversionCode(releation, friend));
                }
            }
            return(code.ToString());
        }
Exemple #2
0
        private string ReleationCode2(TableReleation releation)
        {
            return(string.Format(@"

        /// <summary>
        /// {0}
        /// </summary>
        [IgnoreDataMember]
        private DataChildren<{1}, {1}DataAccess> _{1}DataView;

        /// <summary>
        /// {0}帮助类
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public DataChildren<{1}, {1}DataAccess> {1}DataView
        {{
            get
            {{
                return this._{1}DataView ?? (this._{1}DataView = new DataChildren<{1}, {1}DataAccess>(this,""{3}"",""{4}"",{5},{7}.Default.{6}));
            }}
        }}

        /// <summary>
        /// {0}
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public bool Hase{2}
        {{
            get
            {{
                return this.{1}DataView.HaseValues();
            }}
        }}

        /// <summary>
        /// {0}
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public ObservableCollection<{1}> {2}
        {{
            get
            {{
                if (!this.{1}DataView._isLoaded)
                    this.{1}DataView.LoadValues();
                return this.{1}DataView;
            }}
        }}"
                                 , releation.Description
                                 , releation.Friend
                                 , releation.Name.ToPluralism()
                                 , releation.PrimaryKey
                                 , releation.ForeignKey
                                 , string.IsNullOrEmpty(releation.Condition) ? "null" : $@"""{releation.Condition}"""
                                 , releation.Friend.ToPluralism()
                                 , Project.DataBaseObjectName));
        }
        private void AddRelation(PropertyConfig column)
        {
            var config = new TableReleation
            {
                Parent     = Context.SelectRelationTable,
                Name       = column.Parent.Name,
                Friend     = column.Parent.Name,
                ForeignKey = column.Name,
                PrimaryKey = Context.SelectRelationColumn.Name
            };

            if (CommandIoc.NewConfigCommand(config))
            {
                Context.SelectRelationTable.Releations.Add(config);
            }
        }
Exemple #4
0
        /// <summary>
        ///     与Friend的平等关系的1对1
        /// </summary>
        /// <param name="releation"></param>
        /// <returns></returns>
        private string Releation1V1Code(TableReleation releation)
        {
            return(string.Format(@"

        /// <summary>
        /// {0}帮助类
        /// </summary>
        [IgnoreDataMember]
        private ObjectFriend<{1}, {1}DataAccess> _{1}Helper;

        /// <summary>
        /// {0}帮助类
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public ObjectFriend<{1}, {1}DataAccess> {1}Helper
        {{
            get
            {{
                return this._{1}Helper ?? (this._{1}Helper = new ObjectFriend<{1}, {1}DataAccess>(this,""{3}"",""{4}"",true,{6}.Default.{5}));
            }}
        }}

        /// <summary>
        /// {0}
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public {1} {2}
        {{
            get
            {{
                return this.{1}Helper.Friend;
            }}
        }}"
                                 , releation.Description
                                 , releation.Friend
                                 , releation.Name ?? releation.Friend
                                 , releation.PrimaryKey
                                 , releation.ForeignKey
                                 , releation.Friend.ToPluralism()
                                 , Project.DataBaseObjectName));
        }
Exemple #5
0
        private string Releationx1V1reversionCode(TableReleation releation, EntityConfig friend)
        {
            return(string.Format(@"

        /// <summary>
        /// {0}帮助类
        /// </summary>
        [IgnoreDataMember]
        private ObjectFriend<{1}, {1}DataAccess> _{1}Helper;

        /// <summary>
        /// {0}帮助类
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public ObjectFriend<{1}, {1}DataAccess> {1}Helper
        {{
            get
            {{
                return this._{1}Helper ?? (this._{1}Helper = new ObjectFriend<{1}, {1}DataAccess>(this,""{2}"",""{3}"",{4},{6}.Default.{5}));
            }}
        }}

        /// <summary>
        /// {0}
        /// </summary>
        [IgnoreDataMember,Browsable(false)]
        public {1} {1}
        {{
            get
            {{
                return this.{1}Helper.Friend;
            }}
        }}"
                                 , friend.Description
                                 , friend.Name
                                 , releation.ForeignKey
                                 , releation.PrimaryKey
                                 , releation.Releation == 1 ? "false" : "true"
                                 , friend.Name.ToPluralism()
                                 , Project.DataBaseObjectName));
        }