better foreign keys

This commit is contained in:
none 2023-05-02 12:44:17 +02:00
parent aca4c8d933
commit 31b767bf09

View File

@ -521,22 +521,34 @@ public class C4 {
.append(column.isUnique()?"[Index(\""+column.getColumnName()+"Index\", IsUnique = true)]\n"+addChars():"") .append(column.isUnique()?"[Index(\""+column.getColumnName()+"Index\", IsUnique = true)]\n"+addChars():"")
.append(column.isAutoincrement()?"[DatabaseGenerated(DatabaseGeneratedOption.Identity)]\n"+addChars():""); .append(column.isAutoincrement()?"[DatabaseGenerated(DatabaseGeneratedOption.Identity)]\n"+addChars():"");
if(column.getReferencesTo() != null) { if(column.getReferencesTo() != null) {
sqlScript.append("[ForeignKey(\"").append(shortname(table.getTablename())).append(shortcolumnname).append("-").append(shortname(column.getReferencesTo().tablename())).append(shortname(column.getReferencesTo().columnname())).append("\")]\n").append(addChars()); //sqlScript.append("[ForeignKey(\"").append(shortname(table.getTablename())).append(shortcolumnname).append("-").append(shortname(column.getReferencesTo().tablename())).append(shortname(column.getReferencesTo().columnname())).append("\")]\n").append(addChars());
//[ForeignKey("Co_Department")] //[ForeignKey("Co_Department")]
//[InverseProperty("De_Courses")] //[InverseProperty("De_Courses")]
} }
sqlScript.append("public ").append(sqltoCSType(column.getDatatype())) sqlScript.append("public ")
.append(sqltoCSType(column.getDatatype()))
.append(" ") .append(" ")
.append(column.getReferencesTo()!=null?shortname(column.getReferencesTo().tablename()):"")
.append(shortcolumnname) .append(shortcolumnname)
.append(" { get; ") .append(" { get; ")
.append(column.isKey()?"private ": "") .append(column.isKey()?"private ": "")
.append("set; }\n"); .append("set; }\n");
if(column.getReferencesTo() != null) {
sqlScript.append(addChars()).append("public ").append(shortname(column.getReferencesTo().tablename())).append(" ").append(shortname(column.getReferencesTo().tablename())).append(" { get; set; }\n");
constructorbuilder.append(shortname(column.getReferencesTo().tablename()))
.append(" ").append(shortname(column.getReferencesTo().tablename())).append(", ");
innerconstructorbuilder.append(addChars()).append(addChars()).append("this.").append(shortname(column.getReferencesTo().tablename())).append("=").append(shortname(column.getReferencesTo().tablename())).append(";\n");
continue;
}
if(column.isKey())continue; if(column.isKey())continue;
constructorbuilder.append(sqltoCSType(column.getDatatype())) constructorbuilder.append(column.getReferencesTo()==null?sqltoCSType(column.getDatatype()):shortname(column.getReferencesTo().tablename()))
.append(" ").append(shortcolumnname).append(", "); .append(" ").append(shortcolumnname).append(", ");
innerconstructorbuilder.append(addChars()).append(addChars()).append("this.").append(shortcolumnname).append("=").append(shortcolumnname).append(";\n"); innerconstructorbuilder.append(addChars()).append(addChars()).append("this.").append(shortcolumnname).append("=").append(shortcolumnname).append(";\n");