Hi Wagner,
[Entity]
[Table('ITEM')]
[Inheritance(TInheritanceStrategy.JoinedTables)]
[Id('ID', TIdGenerator.Guid)]
TEntityItem = class(TNaharEntity)
private
FId: TGuid;
FCodigo: string;
FNome: string;
FDescricao: Nullable<string>;
FReferencia: Nullable<string>;
function GetNome: string;
procedure SetNome(const Value: string);
function GetCodigo: string;
procedure SetCodigo(const Value: string);
procedure SetDescricao(const Value: Nullable<string>);
procedure SetReferencia(const Value: Nullable<string>);
function GetDominio: Integer;
procedure SetDominio(const Value: Integer);
public
[Column('ID', [TColumnProp.Unique, TColumnProp.Required, TColumnProp.NoUpdate])]
property Id: TGuid read FId write FId;
[Column('DOMINIO', [TColumnProp.Required], 0)]
property Dominio: Integer read GetDominio write SetDominio;
[Column('CODIGO', [TColumnProp.Required], 30)]
property Codigo: string read GetCodigo write SetCodigo;
[Column('NOME', [TColumnProp.Required], 100)]
property Nome: string read GetNome write SetNome;
[Column('DESCRICAO', [], 100)]
property Descricao: Nullable<string> read FDescricao write SetDescricao;
[Column('REFERENCIA', [], 100)]
property Referencia: Nullable<string> read FReferencia write SetReferencia;
end;
[Entity]
[Table('ITEM_PRODUTO')]
[PrimaryJoinColumn('ID')]
TEntityItemProduto = class(TEntityItem)
private
[ManyValuedAssociation([], CascadeTypeAll)]
[ForeignJoinColumn('ID', [TColumnProp.Required])]
FFornecedores: Proxy<TList<TEntityContato>>;
[Association([TAssociationProp.Lazy], [])]
[JoinColumn('ID', [])]
FUnidade: Proxy<TEntityUnidade>;
private
function GetFornecedores: TList<TEntityContato>;
procedure SetUnidade(const Value: TEntityUnidade);
function GetUnidade: TEntityUnidade;
public
constructor Create; virtual;
destructor Destroy; override;
property Unidade: TEntityUnidade read GetUnidade write SetUnidade;
property Fornecedores:TList<TEntityContato> read GetFornecedores;
end;