Error message "EngineVersion"

i check my server on the browser "http://localhost:2001/tms/Xdata" and the result is 

{
    "value": [
        {
            "name": "Users",
            "url": "Users"
        }
    ]
}

but when i am trying to check the data of Users table "http://localhost:2001/tms/Xdata/Users"  i get the error

{
    "error": {
        "code": "PropReadOnly",
        "message": "EngineVersion"
    }
}

Any Help? 

That error hints about a property EngineVersion which is read only. There is no such property in XData framework. Is that something from your TUsers entity? Don't you have a readonly property there? If yes, just make it writeable.

Nothing related to TUsers


  [Entity]
  [Table('Users')]
  [UniqueKey('UserName')]
  [Id('FloginName', TIdGenerator.None)]
  TUsers = class
  private
    [Column('loginName', [TColumnProp.Required], 30)]
    FloginName: string;

    [Column('UserName', [TColumnProp.Required], 50)]
    FUserName: string;

    [Column('UserFrgnName', [], 50)]
    FUserFrgnName: Nullable<string>;

    [Column('Password', [TColumnProp.Required], 30)]
    FPassword: string;

    [Column('Enabled', [TColumnProp.Required])]
    FEnabled: Boolean;

    [Column('isAdmin', [TColumnProp.Required])]
    FisAdmin: Boolean;

    [Column('InsertPermission', [TColumnProp.Required])]
    FInsertPermission: Boolean;

    [Column('EditPermission', [])]
    FEditPermission: Nullable<Boolean>;

    [Column('DeletePermission', [])]
    FDeletePermission: Nullable<Boolean>;

    [Column('ReportPermission', [])]
    FReportPermission: Nullable<Boolean>;

    [Column('EditFperiods', [TColumnProp.Required])]
    FEditFperiods: Boolean;

    [Column('defBranch', [])]
    FdefBranch: Nullable<Integer>;

    [Column('createdBy', [TColumnProp.Required], 30)]
    FcreatedBy: string;

    [Column('createdOn', [])]
    FcreatedOn: Nullable<TDateTime>;

    [Column('UpdatedBy', [], 30)]
    FUpdatedBy: Nullable<string>;

    [Column('UpdatedOn', [])]
    FUpdatedOn: Nullable<TDateTime>;
  public
    property loginName: string read FloginName write FloginName;
    property UserName: string read FUserName write FUserName;
    property UserFrgnName: Nullable<string> read FUserFrgnName write FUserFrgnName;
    property Password: string read FPassword write FPassword;
    property Enabled: Boolean read FEnabled write FEnabled;
    property isAdmin: Boolean read FisAdmin write FisAdmin;
    property InsertPermission: Boolean read FInsertPermission write FInsertPermission;
    property EditPermission: Nullable<Boolean> read FEditPermission write FEditPermission;
    property DeletePermission: Nullable<Boolean> read FDeletePermission write FDeletePermission;
    property ReportPermission: Nullable<Boolean> read FReportPermission write FReportPermission;
    property EditFperiods: Boolean read FEditFperiods write FEditFperiods;
    property defBranch: Nullable<Integer> read FdefBranch write FdefBranch;
    property createdBy: string read FcreatedBy write FcreatedBy;
    property createdOn: Nullable<TDateTime> read FcreatedOn write FcreatedOn;
    property UpdatedBy: Nullable<string> read FUpdatedBy write FUpdatedBy;
    property UpdatedOn: Nullable<TDateTime> read FUpdatedOn write FUpdatedOn;
  end;

it is related to elevatedb database component which has EngineVersion which is string property display the version of the database, Nothing to do with it.

is it Bug?

i test the same code with ms sql server (Direct Mode) and it is working well, so i think it is bug.

Are you using latest XData and Aurelius versions?

i reinstalled the latest trail version and the error changed to 
{
    "error": {
        "code": "DatabaseError",
        "message": "Database name 'myDataBase' already exists"
    }
}
so should i create the the database component (TEDBDatabase) manually by the code and give it unique name ?  
it behave different from firedac Adapter, with Firedac i just follow the wizard and every thing go well.

Please try to set the following property in your TAureliusConnection component:



AureliusConnectino1.CloningMode := TCloningMode.Owner;

i do it and get 
{
    "error": {
        "code": "ReadError",
        "message": "Error reading WSession.SessionName: Session name 'WSession' already exists"
    }
}

which WSession is TEDBSession componnet.
i create the TEDbDatabase Component By code and give it unique Name and every thing go well

class function TElevateDBElevateDBConnection.CreateConnection: IDBConnection;
var
  Conn: TEDbDatabase;
begin
  Conn := TEDBDatabase.Create(Nil);
  Conn.SessionName  := ElevateDBElevateDBConnection.WSession.SessionName;
  Conn.Database     := 'Demo'; // Database To Connect  to
  conn.DatabaseName := UniqueGuid(); // Unique Name
  CoInitializeEx(nil, COINIT_MULTITHREADED);
  Result := TElevateDBConnectionAdapter.Create(Conn, true);
end;

Try setting AutoSessionName to True in TEDBSession.