• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Inverse to-one relationships
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inverse to-one relationships


  • Subject: Re: Inverse to-one relationships
  • From: Ramsey Gurley <email@hidden>
  • Date: Thu, 22 Jul 2010 10:12:00 -0400

One-to-optional-one relationship... Not doable as far as I know. In another discussion on the topic, Chuck Hill suggested:

You could model it as a right-outer join and optional, but I think that EOF is still going to have a hissy fit when it does not find the row. Worth a try and a good bug to log with Apple if it does not work.

Chuck

Great idea. I gave that a shot, but it didn't work.

Beyond that, I've considered modeling a typical one-to-many, applying a unique constraint to the FK, creating a method to get/set the relationship, and then register a custom EOClassDescription to replace the reported toMany with my getter/setter toOne. I haven't tried the custom EOClassDescription bit yet though.

Ramsey

On Jul 22, 2010, at 8:00 AM, Paul Hoadley wrote:

Hello,

I know this topic comes up on the list from time to time, but I just need a quick sanity check.

I have two entities, A and B. For every A, there is a corresponding B. For some subset of all Bs, each has a corresponding A. Currently I have modelled this with a single relationship from A to B, so that's a mandatory to-one relationship. (Alternatively, I could have modelled it with an optional to-one relationship from B to A.)

At different times, I need to traverse this relationship in both directions. For any A, A.b() will give me the related B. But for the reverse direction, say I have a B and I want its A (if it has one), I have a custom method B.a() which does a fetch for the A such that A.b() is the B of interest. Sometimes, though, I just want to know if there is an A for a particular B, or whether it's null, and in this setting, the fetch is expensive.

Here's where I need the sanity check: is there a way, given the constraints above, to model an inverse to-one relationship from B to A such that it appears as the inverse to EOF? That is, such that calling, say, A.addObjectToBothSidesOfRelationshipWithKey(B, "b") does both A.setB(B) and B.setA(A)? I'm assuming there's not, as I certainly can't beat the model into doing it. I can work around it by doing the right thing at creation time for every A, I just wanted to know if I was missing something where EOF (or Wonder) would handle this automagically.


-- Paul.

http://logicsquad.net/


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Inverse to-one relationships
      • From: Paul Hoadley <email@hidden>
References: 
 >Inverse to-one relationships (From: Paul Hoadley <email@hidden>)

  • Prev by Date: Inverse to-one relationships
  • Next by Date: Re: Inverse to-one relationships
  • Previous by thread: Inverse to-one relationships
  • Next by thread: Re: Inverse to-one relationships
  • Index(es):
    • Date
    • Thread