Instead try ConfORM you can have a look to my post and learn how ConfORM map
a one-to-one...
welll... there you can see even how you can map a one-to-one in XML ;)
http://fabiomaulo.blogspot.com/2010/03/conform-mapping-one-to-one.html

2010/3/24 jprid64 <[email protected]>

> Sorry -- I wasn't clear. I removed the <param> tag with no side
> effects. Yes, I am responsible for the ID with generator
> class="assigned".
>
> On Mar 24, 11:02 am, Fabio Maulo <[email protected]> wrote:
> > That mapping does not mean nothing.... well only mean that *you* will set
> > the ID.
> >
> > 2010/3/24 jprid64 <[email protected]>
> >
> >
> >
> >
> >
> > > Fabio,
> >
> > > I'll get working on ConfORM and let you know.
> >
> > > The xml snippet is supposed be telling NH that the ID for the primary
> > > table is also the key into the Plan object (which is my one-to-one
> > > association).
> >
> > > On Mar 24, 12:01 am, Fabio Maulo <[email protected]> wrote:
> > > > Try to map your domain with ConfORM and let me know if you see
> > > > the improvement (unidirectional one-to-one mapping pattern)
> >
> > > > Before do it try to explain me what mean this
> > > >            <generator class="assigned">
> > > >                <param name="property">
> > > >                    Plan
> > > >                </param>
> > > >            </generator>
> >
> > > > Thanks.
> >
> > > > 2010/3/24 jprid64 <[email protected]>
> >
> > > > > Thanks, Diego. That worked (sort of) for my one-to-many. I set the
> > > > > batch size to 20 (knowing I would only get 15 based on the data I'm
> > > > > testing with) and it gave me a query for 10 and a query for 5.
> Still
> > > > > an improvement, but I'm a bit puzzled in the discrepancy. I'll play
> > > > > around with it a bit more tomorrow.
> >
> > > > > That still leaves the question of how to deal with my one-to-one,
> as
> > > > > I'm not aware of any batching parameters for that type of
> > > > > relationship.
> >
> > > > > On Mar 23, 9:43 pm, Diego Mijelshon <[email protected]>
> wrote:
> > > > > > Have you tried with batch-size?
> > > > > > It's usually more efective than fetch strategies, because:
> > > > > > - It doesn't force loading of not-always-used elements
> > > > > > - It doesn't create a bigger, denormalized result set
> > > > > > ...And it still turns a select N+1 problem into a "select N/x+1"
> one
> > > > > (which
> > > > > > is effectively "select 1+1" if you adjust the batch-size to your
> page
> > > > > size.
> > > > > > I do that). This can be more efficient than a single select in
> many
> > > > > cases.
> >
> > > > > >    Diego
> >
> > > > > > On Tue, Mar 23, 2010 at 21:45, jprid64 <[email protected]>
> > > wrote:
> > > > > > > I have two tables that have a 1 to 0,1 relationship. I have the
> > > basic
> > > > > > > mapping set up (read-only for now) for my ASP.NET MVC app
> using
> > > lazy
> > > > > > > loading but NHProf shows that I am making separate SQL queries
> to
> > > the
> > > > > > > secondary table for each row returned from the primary table.
> I've
> > > > > > > played with various combinations of lazy, outer-join, and
> fetch,
> > > but
> > > > > > > all of them still generate N queries. FWIW, I have a 1 to many
> in
> > > here
> > > > > > > as well that exhibits the same behavior. Please note that all
> data
> > > > > > > returned is correct -- I just think it's doing too much work.
> >
> > > > > > > Here are my XML mappings (reverted to basic association):
> >
> > > > > > > Primary table:
> > > > > > >    <class name="AladdinDb.Models.OrderStatus, AladdinDb"
> > > > > > > table="vorder_status">
> > > > > > >        <id name="CommitNumber" type="decimal"
> column="commit_no">
> > > > > > >            <generator class="assigned">
> > > > > > >                <param name="property">
> > > > > > >                    Plan
> > > > > > >                </param>
> > > > > > >            </generator>
> > > > > > >        </id>
> > > > > > >        <property name="MainCommit" column="main_commit"
> > > > > > > type="decimal" />
> > > > > > >        <property name="InvoiceNumber" column="invoice_no"
> > > > > > > type="string" />
> > > > > > >        <property name="ShipTo" column="ship_to" type
> ="string"/>
> > > > > > >        <property name="CustomerOrderNumber"
> column="cust_order_no"
> > > > > > > type="string" />
> > > > > > >        <property name="Station" column="station" type="string"
> />
> > > > > > >        <property name="RequestedShipDate"
> column="req_ship_date"
> > > > > > > type="DateTime" />
> > > > > > >        <property name="EstimatedValue" column="estimated_value"
> > > > > > > type="decimal"/>
> > > > > > >        <property name="EstimatedWeight"
> column="estimated_weight"
> > > > > > > type="decimal" />
> > > > > > >        <property name="Customer" column="customer"
> type="string" />
> > > > > > >        <property name="InvoiceDate" column="invoice_date" />
> > > > > > >        <one-to-one name="Plan"
> class="AladdinDb.Models.PlanCommit,
> > > > > > > AladdinDb" />
> > > > > > >        <set name="Promises" >
> > > > > > >            <key column="commit_no"></key>
> > > > > > >            <one-to-many class="AladdinDb.Models.Promise,
> AladdinDb"
> > > /
> >
> > > > > > >        </set>
> > > > > > >    </class>
> >
> > > > > > > One-to-zero/one table:
> > > > > > >    <class name="AladdinDb.Models.PlanCommit, AladdinDb"
> > > > > > > table="plan_commit">
> > > > > > >        <id name="CommitNumber" type="decimal"
> column="commit_no">
> > > > > > >            <generator class="assigned" />
> > > > > > >        </id>
> > > > > > >        <property name="Priority" column="priority" />
> > > > > > >        <property name="Done" column="done" />
> > > > > > >        <property name="CStatus" column="c_status" />
> > > > > > >        <property name="Hauler" column="hauler" />
> > > > > > >        <property name="WarehouseRandomWeight"
> column="whar_rand" />
> > > > > > >        <property name="WarehouseCutsWeight" column="whar_cuts"
> />
> > > > > > >        <property name="YardRandomWeight" column="yard_rand" />
> > > > > > >        <property name="YardCutsWeight" column="yard_cuts" />
> > > > > > >        <property name="ShipDate" column="ship_date" />
> > > > > > >    </class>
> >
> > > > > > > One-to-many table:
> > > > > > >    <class name="AladdinDb.Models.Promise, AladdinDb"
> > > table="promise">
> > > > > > >        <id name="CommitNumber" type="decimal"
> column="commit_no">
> > > > > > >            <generator class="assigned" />
> > > > > > >        </id>
> > > > > > >        <property name="PromiseDate" column="promise_date" />
> > > > > > >        <property name="WhoAsked" column="who_asked" />
> > > > > > >        <property name="WhoGave" column="who_gave" />
> > > > > > >        <property name="Iffy" column="iffy" />
> > > > > > >    </class>
> >
> > > > > > > --
> > > > > > > You received this message because you are subscribed to the
> Google
> > > > > Groups
> > > > > > > "nhusers" group.
> > > > > > > To post to this group, send email to [email protected].
> > > > > > > To unsubscribe from this group, send email to
> > > > > > > [email protected]<nhusers%[email protected]>
> <nhusers%[email protected]<nhusers%[email protected]>>
> > > <nhusers%[email protected]<nhusers%[email protected]>
> <nhusers%252bunsubscr...@googlegroup s.com>>
> > > > > <nhusers%[email protected]<nhusers%[email protected]>
> <nhusers%252bunsubscr...@googlegroup s.com>
> > > <nhusers%252bunsubscr...@googlegroup s.com>>
> > > > > > > .
> > > > > > > For more options, visit this group at
> > > > > > >http://groups.google.com/group/nhusers?hl=en.
> >
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > > Groups
> > > > > "nhusers" group.
> > > > > To post to this group, send email to [email protected].
> > > > > To unsubscribe from this group, send email to
> > > > > [email protected]<nhusers%[email protected]>
> <nhusers%[email protected]<nhusers%[email protected]>>
> > > <nhusers%[email protected]<nhusers%[email protected]>
> <nhusers%252bunsubscr...@googlegroup s.com>>
> > > > > .
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/nhusers?hl=en.
> >
> > > > --
> > > > Fabio Maulo
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "nhusers" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<nhusers%[email protected]>
> <nhusers%[email protected]<nhusers%[email protected]>>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/nhusers?hl=en.
> >
> > --
> > Fabio Maulo
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>
>


-- 
Fabio Maulo

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to