Re: Child EditingContext and fetches
Re: Child EditingContext and fetches
- Subject: Re: Child EditingContext and fetches
- From: Lachlan Deck <email@hidden>
- Date: Wed, 22 Mar 2006 10:21:20 +1100
Hi there,
On 21/03/2006, at 8:31 PM, Fabrice Pipart wrote:
I have a question that seems simple but I did not find any accurate
information on this...
Is it possible to fetch EOs the following way :
childEc = new EOEditingContext(session().defaultEditingContext());
EOUtilities.createAndInsertInstance(childEc, "Day");
childEc.saveChanges();
EOFetchSpecification fs = new EOFetchSpecification("Day", qual, null);
NSArray days = childEc.objectsWithFetchSpecification(fs);
Should I be able to fetch the objects?
In my case it does not work.
It only works if I do a saveChanges on the parent ec (when then
objects are really written in database), which of course I do not
want to do.
Is this normal?
As Ken mentioned, this is normal. But here's the easy way to get what
you want...
EOEditingContext childEc;
NSMutableSet days;
EOFetchSpecification fs;
EOQualifier qual; // assume exists
childEc = new EOEditingContext(session().defaultEditingContext());
days = new NSMutableSet();
days.addObject(EOUtilities.createAndInsertInstance(childEc, "Day"));
fs = new EOFetchSpecification("Day", qual, null);
days.addObjectsFromArray(childEc.objectsWithFetchSpecification(fs));
try {
childEc.saveChanges();
parentEc.saveChanges();
} catch(...) {
}
Is there a way to fetch those objects anyway? or I should just keep
an array of them and look for the EO I am looking for in a "for"
loop ?
To find the object you're looking for you have the option of using an
in-memory EOQualifier operation. e.g.,
EOQualifier.filteredArrayFromQualifier(days.allObjects(), qual);
The above approach would be better (as it'll find all objects
satisfying the qualifier), but, if you're certain there's no
duplicates, another option would be to use something like:
NSArray eoDays = days.allObjects();
int index = ((NSArray)eoDays.valueForKey("name")).indexOfObject
("Tuesday");
Day day = eoDays.objectAtIndex(index);
with regards,
--
Lachlan Deck
_______________________________________________
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