Hi

I'm very new with tiopf. I've done some samples with it, but there is still one question. How does tiopf handle many-to-many relations?

Let's say a class TUser and a class TGroup. Each User can be a member of several groups. One Group can have more than one member.

This is my database-model:

   table User: UserId, Lastname, Firstname
   table Group: GroupId, Name
   table UserGroup: UserId, GroupId



Here are the classes and the register procedure:

   TUserList = class(TtiObjectList);

   TGroupList = class(TtiObjectList);

   TUser = class(TtiObject)
   private
       FLastname : AnsiString;
       FFirstname : AnsiString;
   published
       Lastname : AnsiString read FLastname write FLastname;
       Firstname : AnsiString read FFirstname write FFirstname;
       GroupList : TGroupList ...;
   end;

   TGroup = class(TtiObject)
   private
       FName : AnsiString;
   published
       Name : AnsiString read FName write FName;
       UserList : TUserList ...;
   end;

   procedure RegisterVisitors;
   begin
      GTIOPFManager.ClassDBMappingMgr.RegisterMapping(TUser, 'User',
   'UserId', 'OID', [pktPK]);
      GTIOPFManager.ClassDBMappingMgr.RegisterMapping(TUser, 'User',
   'Lastname', 'Lastname');
      GTIOPFManager.ClassDBMappingMgr.RegisterMapping(TUser, 'User',
   'Firstname', 'Firstname');
      GTIOPFManager.ClassDBMappingMgr.RegisterCollection(TUserList, TUser);

      GTIOPFManager.ClassDBMappingMgr.RegisterMapping(TGroup, 'Group',
   'GroupId', 'OID', [pktPK]);
      GTIOPFManager.ClassDBMappingMgr.RegisterMapping(TGroup, 'Group',
   'Name', 'Name');
      GTIOPFManager.ClassDBMappingMgr.RegisterCollection(TGroupList,
   TGroup);

      // How to add the references between User and Group?
   end;


Is there a possibility to do this with automap or hardcoded?


thanks for your help.
peter
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
tiOPF-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tiopf-talk

Reply via email to