ActiveRecordPattern.ActiveRecordBase.Initialize C# (CSharp) 메소드

Initialize() 공개 메소드

Устанавливает соединение с базой данных и в случае успеха, если данной таблици не существует, создает новую таблицу
public Initialize ( ) : void
리턴 void
        public void Initialize()
        {
            if (!SetConnection) return;
            if (existTable) return;

            Type classType = GetType();

            StringBuilder query = new StringBuilder("CREATE TABLE [dbo].[" + tableName(classType) + "] ([" + propertyKeyName(classType) + "] " + ConvertType.FromCLR(propertyKeyType(classType)) + " PRIMARY KEY, ");


            int colomnCount = propertyNames(classType).Count();
            for (int i = 0; i < colomnCount; i++)
            {
                query.Append("[" + propertyNames(classType)[i] + "] " + ConvertType.FromCLR(propertyTypes(classType)[i]));
                if (i == colomnCount - 1)
                    query.Append(")");
                else
                    query.Append(", ");
            }

            SqlConnection sqlConnection = new SqlConnection(_connString);

            SqlCommand sqlCom = new SqlCommand(query.ToString(), sqlConnection);

            sqlConnection.Open();

            try
            {
                sqlCom.ExecuteNonQuery();
                
            }
            catch (SqlException e)
            { MessageBox.Show(e.ToString()); }

            sqlConnection.Close();
        }