Hi, I'm back to XData from a long pause, must use it for a Web app with WebCore.
I'm using mysql as database, I've a table "processestypes" with foreign key to another table "processesclasses", I need to associate in "processestypes" entity the "processesclasses"... seems easy but I'm missing something... and got lost in docs... I generated Aurelius Entities as follow, getting CMDB/$model looks good , but when load "processtypes" with XDataWebDataSet generate the error: "property pclassname" cannot be expanded" , a persistent field has been created as 'procesessclasses.pclassname' TWebXDataWebEntityField.
{
"Name": "processestypes",
"Properties": [
{
"Name": "pkid",
"Required": true,
"Type": "Int32"
},
{
"Name": "processname",
"Required": true,
"Length": 128,
"Type": "String"
},
{
"Name": "description",
"Length": 256,
"Type": "String"
}
],
"NavigationProperties": [
{
"Name": "processesclasses",
"Required": true,
"Target": "processesclasses"
}
],
"Key": [
"pkid"
]
}
[Entity]
[Model('CMDB')]
[Table('processesclasses')]
[Id('Fpkid', TIdGenerator.IdentityOrSequence)]
Tprocessesclasses = class
private
[Column('pkid', [TColumnProp.Required, TColumnProp.NoInsert, TColumnProp.NoUpdate])]
Fpkid: Integer;
[Column('pclassname', [TColumnProp.Required], 64)]
Fpclassname: string;
[Column('description', [], 256)]
Fdescription: Nullable<string>;
public
property pkid: Integer read Fpkid write Fpkid;
property pclassname: string read Fpclassname write Fpclassname;
property description: Nullable<string> read Fdescription write Fdescription;
end;
[Entity]
[Model('CMDB')]
[Table('processestypes')]
[Id('Fpkid', TIdGenerator.IdentityOrSequence)]
Tprocessestypes = class
private
[Column('pkid', [TColumnProp.Required, TColumnProp.NoInsert, TColumnProp.NoUpdate])]
Fpkid: Integer;
[Column('processname', [TColumnProp.Required], 128)]
Fprocessname: string;
[Column('description', [], 256)]
Fdescription: Nullable<string>;
[Association([TAssociationProp.Lazy, TAssociationProp.Required], CascadeTypeAll - [TCascadeType.Remove])]
[JoinColumn('fkprocessclassid', [TColumnProp.Required], 'pkid')]
Fprocessesclasses: Proxy<Tprocessesclasses>;
function Getprocessesclasses: Tprocessesclasses;
procedure Setprocessesclasses(const Value: Tprocessesclasses);
public
property pkid: Integer read Fpkid write Fpkid;
property processname: string read Fprocessname write Fprocessname;
property description: Nullable<string> read Fdescription write Fdescription;
property processesclasses: Tprocessesclasses read Getprocessesclasses write Setprocessesclasses;
end;