I have the following classes:
` [Entity]
[Table('apipatprotosubsts')]
[Id('Fpatprotostep', TIdGenerator.None)]
[Id('Fisubid', TIdGenerator.None)]
Tapipatprotosubst = class
private
[Association([TAssociationProp.Required], CascadeTypeAll - [TCascadeType.Remove])]
[JoinColumn('pid', [TColumnProp.Required], 'pid')]
[JoinColumn('iproid', [TColumnProp.Required], 'iproid')]
[JoinColumn('istepid', [TColumnProp.Required], 'istepid')]
Fpatprotostep: Tapipatprotostep;
[Column('isubid', [TColumnProp.Required])]
Fisubid: Integer;
[Column('protoid', [TColumnProp.Required])]
Fprotoid: Integer;
[Column('substid', [TColumnProp.Required])]
Fsubstid: Integer;
[Column('act', [TColumnProp.Required])]
Fact: Integer;
public
atc,descr,disp: string;
property patprotostep: Tapipatprotostep read fpatprotostep write fpatprotostep;
property protoid: Integer read Fprotoid write Fprotoid;
property isubid: Integer read Fisubid write Fisubid;
property substid: Integer read Fsubstid write Fsubstid;
property act: Integer read Fact write Fact;
end;
[Entity]
[Table('apipatprotosteps')]
[Id('Fpatproto', TIdGenerator.None)]
[Id('Fistepid', TIdGenerator.None)]
Tapipatprotostep = class
private
[Association([TAssociationProp.Required], CascadeTypeAll - [TCascadeType.Remove])]
[JoinColumn('pid', [TColumnProp.Required], 'pid')]
[JoinColumn('iproid', [TColumnProp.Required], 'iproid')]
fpatproto: Tapipatproto;
[Column('protoid', [TColumnProp.Required])]
Fprotoid: Integer;
[Column('istepid', [TColumnProp.Required])]
Fistepid: Int64;
[Column('step', [TColumnProp.Required])]
Fstep: Integer;
[Column('stepid', [TColumnProp.Required])]
Fstepid: Integer;
[Column('insdat', [TColumnProp.Required])]
Finsdat: TDateTime;
[Column('lastudat', [TColumnProp.Required])]
Flastudat: TDateTime;
[Column('note', [TColumnProp.Required])]
Fnote: string;
[Column('atc5', [TColumnProp.Required], 10)]
Fatc5: string;
[Column('expdat', [TColumnProp.Required])]
Fexpdat: TDateTime;
[Column('canrep', [TColumnProp.Required])]
Fcanrep: Integer;
[Column('active', [TColumnProp.Required])]
Factive: Integer;
[Column('expdays', [TColumnProp.Required])]
Fexpdays: Integer;
[Column('act', [TColumnProp.Required])]
Fact: Integer;
[ManyValuedAssociation([], CascadeTypeAllRemoveOrphan,'Fpatprotostep')]
Fprotosubsts:TObjectList;
public
constructor create;
destructor destroy; override;
property patproto: Tapipatproto read Fpatproto write Fpatproto;
property protoid: Integer read Fprotoid write Fprotoid;
property istepid: Int64 read Fistepid write Fistepid;
property step: Integer read Fstep write Fstep;
property stepid: Integer read Fstepid write Fstepid;
property insdat: TDateTime read Finsdat write Finsdat;
property lastudat: TDateTime read Flastudat write Flastudat;
property note: string read Fnote write Fnote;
property atc5: string read Fatc5 write Fatc5;
property expdat: TDateTime read Fexpdat write Fexpdat;
property canrep: Integer read Fcanrep write Fcanrep;
property active: Integer read Factive write Factive;
property expdays: Integer read Fexpdays write Fexpdays;
property act: Integer read Fact write Fact;
property protosubsts:TObjectList read Fprotosubsts;
end;
[Entity]
[Table('apipatprotos')]
[Id('Fpid', TIdGenerator.None)]
[Id('Fiproid', TIdGenerator.None)]
Tapipatproto = class
private
[Column('pid', [TColumnProp.Required])]
Fpid: Integer;
[Column('iproid', [TColumnProp.Required])]
Fiproid: Int64;
[Column('protoid', [TColumnProp.Required])]
Fprotoid: Integer;
[Column('insdat', [TColumnProp.Required])]
Finsdat: TDateTime;
[Column('lastudat', [TColumnProp.Required])]
Flastudat: TDateTime;
[Column('intol', [TColumnProp.Required])]
Fintol: Integer;
[Column('act', [TColumnProp.Required])]
Fact: Integer;
[ManyValuedAssociation([], CascadeTypeAllRemoveOrphan,'Fpatproto')]
Fprotosteps:TObjectList;
public
constructor create;
destructor destroy; override;
property pid: Integer read Fpid write Fpid;
property iproid: Int64 read Fiproid write Fiproid;
property protoid: Integer read Fprotoid write Fprotoid;
property insdat: TDateTime read Finsdat write Finsdat;
property lastudat: TDateTime read Flastudat write Flastudat;
property intol: Integer read Fintol write Fintol;
property act: Integer read Fact write Fact;
property protosteps:TObjectList read Fprotosteps;
end;
`
It has not much data and I want to load them all:
protos:=manager.find<Tapipatproto>.Where(Linq['pid']=pid).list;
I am getting from line 978 of Aurelius.Mapping.Metadata the following:
raised exception class EidValueConvertFail with message 'Could not check/convert ID for null values'
Class name: Tapipatprotosubst
column name: pid
Attribute name: Fpatprotostep
Database value: ,,1579329,4'
It seems that the values of composite id Fpatprotostep are not used.
How can I overcome this? Thank you in advance