The method is designed for creating a new entity instance.
function CreateEntity<T: TMappedEntity>(Key: TPrimaryKey): T; overload;
The method creates a new entity instance of the specified class type with the specified primary key. The entity instance created by this method is not attached to the data context (is not placed to the object cache), therefore it won't be automatically destroyed on application shutdown. It should be destroyed manually. It is expedient to use the method in case when the primary key value of an entity is unknown at the moment of its creation (or there is no confidence in its uniqueness), in order to avoid an exception on an attempt to place an object to the cache.
To attach an entity instance to the data context and place it to the object cache (in order to perform further modification operations: TCustomEntityContext.Delete, TCustomEntityContext.Save, TCustomEntityContext.Cancel), the TCustomEntityContext.Attach method should be used. To create an entity instance with simultaneous attaching it to the data context, the TCustomEntityContext.CreateAttachedEntity method should be used.
var PK: TPrimaryKey; EmpEntity: TEntity; begin PK := TPrimaryKey.Create(Context['Emp']); PK.Values.AsInteger := 1; EmpEntity := Context.CreateEntity<TEmp>(PK); // ... end;