How to ad a TGUID/TSMARTGUID Generator?

How to define table fileds  and generator to have ID fields defined as GUIDs?
For example say I have a table with field ID defined as Primary Key VARCHAR(32).

I would like that the generated entity has the following attribute:

[Id('FId', TIdGenerator.SmattGuid)]

How can I obtain this?

I have found the solution on this forum:
How to set custom TidGenerator from DataModeler:
You can use Data Modeler customization script feature: http://www.tmssoftware.biz/business/dmodeler/doc/web/customization-script.html



How do you do it? In OnClassGenerated Event
Can you show an example?

I want to set the generator to none for TGuid columns

Yes, using OnClassGenerated. Here is an example:




procedure OnClassGenerated(Args: TClassGeneratedArgs);
var
  Att: TCodeAttributeDeclaration;
  I: Integer;
begin                                
  for I := 0 to Args.CodeType.CustomAttributes.Count - 1 do
  begin
    Att := Args.CodeType.CustomAttributes.Items;
    if (Att.Name = 'Id') and (Att.Arguments.Count > 1) then
    begin
      TCodeSnippetExpression(Att.Arguments.Items[1].Value)
        .Value := 'TIdGenerator.SmartGuid';
    end;                                      
  end;                   
end;