Esempio n. 1
0
        public string Create(
            string targetDbName,
            string targetTableName,
            string targetSchemaName,
            TableNameInfo targetTableNameInfo,
            string targetTableConnectionString,
            string entitiesNameSpaceName,
            string TableSchemaName,
            string tableSingleName,
            string tablePluralName,
            AttributesLanguageMode attributesLanguageMode)
        {
            this.AttributesLanguageMode = attributesLanguageMode;

            // گرفتن خصوصیات جدول جاری
            this.TargetTableProperties = TargetDatabaseDataReceiver.GetTargetTableProperties(targetDbName, targetTableName, targetTableConnectionString);

            // گرفتن ریلیشن های جدول جاری
            this.TargetTableRelations = TargetDatabaseDataReceiver.GetTargetTableRelations(targetTableName, targetTableConnectionString);

            // add using clause
            AppendUsingsAndClassName(entitiesNameSpaceName, TableSchemaName, tableSingleName, tablePluralName, "");

            //-----------------------------------------------------------------------------------------
            IPrimaryKeyNameStrategy pkNameStrategy = PrimaryKeyNameModeFactory.GetStrategy(EntitiesCodeGeneratorSettings.PrimaryKeyNameMode);
            string pkName = string.Empty;

            // تخصیص خصوصیت به جدول
            foreach (var targetTableProperty in this.TargetTableProperties)
            {
                pkName = pkNameStrategy.GetTablePrimaryKeyName(tableSingleName);
                AppendProperties(targetTableProperty, pkName);
            }

            AppendProjectNameSpacesUsings(targetSchemaName);

            if (EntitiesCodeGeneratorSettings.NavigatePropertyGenerateMode == NavigatePropertyGenerateMode.PutNavigateProperties)
            {
                AppendNavigationProperties(targetTableName);
            }

            this.NewEntityClassContent.Append("\n\t}\n}");

            string result = NewEntityClassContent.ToString();

            this.NewEntityClassContent = new StringBuilder(string.Empty);

            return(result);
        }
Esempio n. 2
0
        private void AddSelectClause(ref string selectClause, string tableName, bool tableHaveRelation)
        {
            IList <TableFieldInfo> tableFields = new List <TableFieldInfo>();
            string formatPattern = tableHaveRelation ? "{0} = Result.{1}.{0}, " : "{0} = Result.{0}, ";

            selectClause += string.Format(@"{0} = new {0}() {{ ", tableName);

            tableFields = TargetDatabaseDataReceiver.GetTargetTableProperties(GeneratorSettingsManager.TARGET_DATABASE_NAME, tableName, GeneratorSettingsManager.TARGET_DATABASE_CONNECTION_STRING);

            foreach (var tableField in tableFields)
            {
                selectClause += string.Format(formatPattern, tableField.Name, tableName);
            }

            selectClause = selectClause.Substring(0, selectClause.Length - 2) + " }";
        }