The only question I have on this method is how do I propagate the primary key 
now?  If the modeler thinks it's a 1-to-many I can't check that box.  That's 
how this started to begin with.  I had them set as one-to-manies, but I didn't 
know how that pk should be propagated in code.


On Jan 14, 2011, at 11:45 AM, Kieran Kelleher wrote:

> 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]

Reply via email to