Esempio n. 1
0
        private bool GenerateClassFile(Table table)
        {
            if (table.Name == "zzzDbMigrationVersion")
            {
                return(false);
            }

            var entityName = ToEntityName(table);
            var fileName   = entityName + ".cs";
            var item       = _directory.ProjectItems.FindByName(fileName);

            if (item != null)
            {
                return(false);
            }

            if (!CheckHasPK(table))
            {
                return(false);
            }

            _tablePropertiesConfig.Clear();

            var parameters = new ItemCodeTemplate.EntityFileCodeParamters()
            {
                domainNamespace      = this.DomainName,
                domainEntityName     = entityName,
                domainBaseEntityName = _domainBaseEntityName,
            };

            //生成属性、引用属性
            parameters.normalProperties = this.RenderNormalProperties(table);
            parameters.refProperties    = this.RenderRefProperties(table);
            parameters.tableConfig      = entityName == table.Name ?
                                          "Meta.MapTable().MapAllProperties();" :
                                          string.Format(@"Meta.MapTable(""{0}"").MapAllProperties();", table.Name);
            parameters.columnConfig = this.RenderColumnConfig(table);

            //使用模板格式化字符串。
            var code = ItemCodeTemplate.GetEntityFileCode(parameters);

            //写到文件,并加入到项目中。
            var file = Path.Combine(Path.GetDirectoryName(_directory.get_FileNames(1)), fileName);

            File.WriteAllText(file, code);
            _directory.ProjectItems.AddFromFile(file);
            return(true);
        }
Esempio n. 2
0
        private bool GenerateClassFile(Table table)
        {
            if (table.Name == "zzzDbMigrationVersion") return false;

            var entityName = ToEntityName(table);
            var fileName = entityName + ".cs";
            var item = _directory.ProjectItems.FindByName(fileName);
            if (item != null) return false;

            if (!CheckHasPK(table)) return false;

            _tablePropertiesConfig.Clear();

            var parameters = new ItemCodeTemplate.EntityFileCodeParamters()
            {
                domainNamespace = this.DomainName,
                domainEntityName = entityName,
                domainBaseEntityName = _domainBaseEntityName,
            };
            //生成属性、引用属性
            parameters.normalProperties = this.RenderNormalProperties(table);
            parameters.refProperties = this.RenderRefProperties(table);
            parameters.tableConfig = entityName == table.Name ?
                "Meta.MapTable().MapAllProperties();" :
                string.Format(@"Meta.MapTable(""{0}"").MapAllProperties();", table.Name);
            parameters.columnConfig = this.RenderColumnConfig(table);

            //使用模板格式化字符串。
            var code = ItemCodeTemplate.GetEntityFileCode(parameters);

            //写到文件,并加入到项目中。
            var file = Path.Combine(Path.GetDirectoryName(_directory.get_FileNames(1)), fileName);
            File.WriteAllText(file, code);
            _directory.ProjectItems.AddFromFile(file);
            return true;
        }