Пример #1
0
 public string GenerateForeignKeyDefinition(PropertyWrapper wr)
 {
     if (wr.IsForeignKey())
     {
         return(" FOREIGN KEY(" + wr.Name + ") REFERENCES " + wr.GetForeignKey().AssociationPartnerClass.Name
                + "(" + wr.GetForeignKey().ReferencingPrimaryKeyName + ") ");
     }
     return("");
 }
Пример #2
0
        public override string CreateEntity(ClassWrapper clsWrapper)
        {
            List <string> fKStatements = new List <string>();

            string result = "CREATE TABLE IF NOT EXISTS " + clsWrapper.Name + " (";

            for (int i = 0; i < clsWrapper.GetWrappedFields().Count; i++)
            {
                PropertyWrapper wr = clsWrapper.GetWrappedFields()[i];

                result += GenerateFieldDefinition(wr);

                if (wr.IsForeignKey())
                {
                    fKStatements.Add(GenerateForeignKeyDefinition(wr));
                }

                if (i < clsWrapper.GetWrappedFields().Count - 1 || fKStatements.Count > 0)
                {
                    result += " ,";
                }
            }

            // add FK definitions
            for (int i = 0; i < fKStatements.Count; i++)
            {
                result += fKStatements[i];

                if (i < fKStatements.Count - 1)
                {
                    result += " , ";
                }
            }

            result += " )";

            return(result);
        }