one-to-one relationships can only be mandatory, and EOF *automatically* creates
the B and C when you create A and propogates the primary key (a setting in the
EOModel BTW) from A to B and A to C.
The only way to set up an optional "1-to-1" is to create a 1-to-many in EOF,
A <-->> B
A <-->> C
and put methods in A to get and set singular B or C, returning null when empty
toMany array.
Enforce the zero or one count on the relationship in the database by making the
foreignkey of A a unique index in tables B and C.
The mutually exclusive rule can be checked in validateForSave.
YMMV,
Kieran
On Jan 14, 2011, at 11:16 AM, Michael Gargano wrote:
> I have three entities A, B, and C...
>
> A has a 1-to-0 or 1 with B
> and
> A has a 1-to-0 or 1 with C
>
> An entry in A either has an entry in B or an entry in C. The two are
> mutually exclusive. When I try to set this up in the modeler it gives me
> some problems. Once I set a relationship as a one-to-one, the modeler won't
> let me select optional if optional is already unselected and the modeler
> generates a warning about having optional set if I edit the plist directly.
> I'm not sure if I'm doing this correctly, but it looks to me like the modeler
> isn't allowing 1-to-0 or 1 relationships.
>
> So, if I just live with the warnings...
>
> If I set the relationship between A and B and set the relationship to C
> to null (again because B and C are mutually exclusive), when I save changes
> it throws an exception complaining that all the properties in B are null.
> Anyone else doing something like this?
>
> Thanks.
> -Mike
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
>
> This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]