I have an ElevateDB database with the following People table definition:
CREATE TABLE "People"
(
"ID" INTEGER DEFAULT UID() NOT NULL,
...
)
The Aurelius Entity is defined as follows:
[Entity]
[Table('People')]
[Id('FID', TIdGenerator.None)]
TPeople = class
private
[Column('ID', [TColumnProp.Required])]
FID: Integer;
public
property ID: Integer read FID write FID;
...
I call the following code in an Aurelius Server project:
var
oPeople: TPeople;
FarmerID: Integer;
begin
oPeople := TPeople.Create;
oPeople ... set some values
Manager.Save(oPeople);
Manager.Flush(oPeople);
FarmerID:= oPeople.ID; //<--- Error Here
GExperts Debugger Exception Notification
Status code: 500
Error Code: Exception
Failed to create new farmer: Id not set on entity of class TPeople.'.
In a VCL project if I call "INSERT" on a TDataset linked to People, the ID populates.
I think I have to change some code in the Aurelius project to ensure that the ID field populates?
- Change "TIdGenerator"
- Or do something in addition to "Manager.Flush"