상속: INavigationMemberModel
예제 #1
0
        public IEntityModel Convert(ITableSchema table)
        {
            var entity = new EntityModel { Table = table };
            entity.ClassName = NamingConversion.ClassName(table.TableName);
            foreach (var col in table.AllColumns)
            {
                var member = new MemberModel { Column = col, MemberName = PopulateMemberName(entity, NamingConversion.PropertyName(col.ColumnName)) };
                entity.members.Add(member);
            }

            foreach (var col in table.ForeignKeys)
            {
                var member = new NavigationMemberModel { IsManyToOne = true, Relation = col, MemberName = PopulateMemberName(entity, NamingConversion.ManyToOneName(col)) };
                member.DeclareTypeName = NamingConversion.ClassName(col.OtherTable.TableName);
                entity.manyToOnes.Add(member);
            }

            foreach (var col in table.Children)
            {
                var member = new NavigationMemberModel { Relation = col, MemberName = PopulateMemberName(entity, NamingConversion.QueryableName(col.OtherTable.TableName)) };
                member.DeclareTypeName = NamingConversion.ClassName(col.OtherTable.TableName);
                entity.manyToOnes.Add(member);
            }
            return entity;
        }
예제 #2
0
        public IEntityModel Convert(ITableSchema table)
        {
            var entity = new EntityModel {
                Table = table
            };

            entity.ClassName = NamingConversion.ClassName(table.TableName);
            foreach (var col in table.AllColumns)
            {
                var member = new MemberModel {
                    Column = col, MemberName = PopulateMemberName(entity, NamingConversion.PropertyName(col.ColumnName))
                };
                entity.members.Add(member);
            }

            foreach (var col in table.ForeignKeys)
            {
                var member = new NavigationMemberModel {
                    IsManyToOne = true, Relation = col, MemberName = PopulateMemberName(entity, NamingConversion.ManyToOneName(col))
                };
                member.DeclareTypeName = NamingConversion.ClassName(col.OtherTable.TableName);
                entity.manyToOnes.Add(member);
            }

            foreach (var col in table.Children)
            {
                var member = new NavigationMemberModel {
                    Relation = col, MemberName = PopulateMemberName(entity, NamingConversion.QueryableName(col.OtherTable.TableName))
                };
                member.DeclareTypeName = NamingConversion.ClassName(col.OtherTable.TableName);
                entity.manyToOnes.Add(member);
            }
            return(entity);
        }