Hi OC, I don’t know that there’s a way to do this.
What I did before was to intercept at the SQL-generation stage and change the table names based on a session variable value. This was not for performance in my case, it was because a horrible student information system at a school system I was at duplicated every table for every school in the system, with a school-specific suffix added to the table name, and I was hiding that complexity from the rest of the app development. I could see how something like this might be used in an extreme case to address performance issues, but it certainly depends on your situation. — Mark > On Jul 10, 2016, at 7:20 PM, OC <o...@ocs.cz> wrote: > > Well... I have re-written my test code completely. Alas there does not seem > to be a delegate method which would allow to select the target entity > dynamically based on the source EO :( In fact, I did not succeed to get > subEntityForEntity at all, whatever I tried (nor > relationshipFailedToLookupDestinationWithName); and > classForObjectWithGlobalID gets called all right, but only _after_ fetch, not > before, where it would help. > > Oh, sigh. > > Am I overlooking some hidden gem of a WOnder or EOF delegate, through which > one _could_ set the target entity for a relationship based on the source EO, > before EOF tries to fetch? > > Thanks and all the best, > OC > > On 10. 7. 2016, at 21:25, OC <o...@ocs.cz> wrote: > >> Thinking about >> >> On 9. 7. 2016, at 12:13, OC <o...@ocs.cz> wrote: >> >>> For one, it would mean each DBTable eo would have its "records" >>> relationship leading into another target DBRecordXX entity; I am not sure >>> whether this can be modelled at all? >> >> actually it would help a lot even without special FrontBase support. >> >> My current setup is the very primitive >> >> - DBTable entity, it has a :N relationship "records" into DBRecord >> - DBRecord entity, which contains a FK into DBTable which models an inverse >> :1 relationship "table" into DBTable. >> >> A setup we all did a zillion times. >> >> Now I wonder, might perhaps a horizontal inheritance help me to split those >> DBRecords? Let us assume that >> >> (a) I add a "tableType" numeric column to DBTable; there would be N distinct >> table types >> (b) I model N separate DBRecord1, DBRecord2, ..., DBRecordN entities, all of >> them children of DBRecord (which itself would become abstract) >> (c) each of them would be linked to a separate SQL table >> >> At the database level, this definitely would work well. What I can't see, >> how to process this at the model and EOF levels? >> >> - I cannot model a relationship to “different entity for each row”; >> therefore, the target of the "records" relationship of DBTable would still >> have to be the (abstract) DBRecord; >> - runtime, I would have tell _somehow_ to the EOF that if it is about to >> fire "records" of a DBTable object, it should fetch them from the >> ["DBRecord%@",table.tableType] entity instead of from DBRecord -- the >> subEntityForEntity delegate method comes to mind >> - when adding new records, I would simply use >> EOUtilities.createAndInsertInstance with appropriate entity name (e.g., >> "DBRecord33"). >> >> Should such a thing work, or am I in for a nasty surprise? I have actually >> tried, but either it should not work, or I messed up something else; instead >> of the desired result (or some intelligible error report) I am getting a >> very weird “Cannot register the database context for the model Shared” >> (which is *not* the model which contains my abstract/inherited entities). >> And, my subEntityForEntity delegate method is never called. >> >> Thanks a lot, >> OC >> >> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/ocs%40ocs.cz >> >> This email sent to o...@ocs.cz > _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com