Ejemplo n.º 1
0
        private string Releations()
        {
            var code = new StringBuilder();

            foreach (EntityReleationConfig rl in Entity.Releations)
            {
                EntityReleationConfig 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 (EntityReleationConfig releation in friend.Releations.Where(p => p.Friend == Entity.Name))
                {
                    code.Append(Releationx1V1reversionCode(releation, friend));
                }
            }
            return(code.ToString());
        }
Ejemplo n.º 2
0
        private string ReleationCode2(EntityReleationConfig 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));
        }
Ejemplo n.º 3
0
        /// <summary>
        ///     与Friend的平等关系的1对1
        /// </summary>
        /// <param name="releation"></param>
        /// <returns></returns>
        private string Releation1V1Code(EntityReleationConfig 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));
        }