Pretty != exactly Check it again, do exactly the same and then let me know what happen.
-- Fabio Maulo El 17/11/2010, a las 18:13, Scott <[email protected]> escribió: > I'm doing it pretty much exactly as the website says, I posted the one- > to-one mapping in the first post: > > <class name="UserInfo"> > <id name="RefId" column="RefId"> > <generator class="guid.comb" /> > </id> > <version name="Version" type="Int32" generated="never"> > <column name="Version" not-null="true" /> > </version> > > <one-to-one name="Profile" class="DatabaseModel.Models.UserProfile, > DatabaseModel" cascade="all" property-ref="UserInfo" /> > </class> > > <class name="Profile"> > <id name="RefId" column="UserInfoRefId"> > <generator class="foreign"> > <param name="property">UserInfo</param> > </generator> > </id> > <version name="Version" type="Int32" generated="never"> > <column name="Version" not-null="true" /> > </version> > > <one-to-one name="UserInfo" class="DatabaseModel.Models.UserInfo" > cascade="delete" constrained="true" /> > </class> > > How is this different from what the website says? > > > On Nov 17, 12:09 pm, Fabio Maulo <[email protected]> wrote: >> have a look on how map a bidi-one-to-one through >> PKhttp://fabiomaulo.blogspot.com/2010/03/conform-mapping-one-to-one.html >> >> >> >> >> >> On Wed, Nov 17, 2010 at 1:38 PM, Scott <[email protected]> wrote: >>> I'm mapping bidirectional through the PK, so the PK of both tables are >>> the same. >> >>> Like I said it works the first time and then failed to include the >>> where clause the 2nd, so if I was doing something horribly wrong I'd >>> think it should fail the first time. The fact that the 2nd query >>> include the correct parameters but never uses them sounds more like a >>> bug in NHibernate to me. >> >>> On Nov 15, 6:21 pm, Fabio Maulo <[email protected]> wrote: >>>> There 3 mapping patterns to map a one-to-one. >>>> Just one for unidirectional relation >>>> Two for bidirectional (oen through PK the other through FK). >> >>>> Which is your case? >> >>>> -- >>>> Fabio Maulo >> >>>> El 15/11/2010, a las 16:25, Scott <[email protected]> escribió: >> >>>>> A little more I discovered after testing. >> >>>>> It doesn't matter if the Child is null, I added the records and it >>>>> still does the same thing. >> >>>>> And it only happens the 2nd time through, the first time everything is >>>>> fine, the 2nd time and the query is wrong doing the exact same thing. >> >>>>> On Nov 15, 10:51 am, Scott <[email protected]> wrote: >>>>>> I have a one-to-one relationship and when the child table is null for >>>>>> the main object the SQL query that's created is wrong, it gives it a >>>>>> parameter of the primary key but it never uses this parameter in the >>>>>> query itself. This causes it to return all records in the table and a >>>>>> "More than one row with the given identifier was found" error when >>>>>> actually it shouldn't be finding anything. >> >>>>>> Parent has: >>>>>> <one-to-one name="Profile" class="DatabaseModel.Models.UserProfile, >>>>>> DatabaseModel" cascade="all" property-ref="UserInfo" /> >> >>>>>> Child has: >>>>>> <one-to-one name="UserInfo" class="DatabaseModel.Models.UserInfo" >>>>>> cascade="delete" constrained="true" /> >> >>>>>> The query that gets generated is: >>>>>> exec sp_executesql N'SELECT userprofil0_.UserInfoRefId as >>>>>> UserInfo1_4_0_, userprofil0_.Version as Version4_0_, >>>>>> userprofil0_.CurrentRosmatRefId as CurrentR3_4_0_ FROM UserProfile >>>>>> userprofil0_',N'@p0 uniqueidentifier',@p0='60E9764B- >>>>>> D48E-4260-81BC-308B3486851F' >> >>>>>> Notice the lack of a WHERE clause >> >>>>>> This is what I think it should be: >>>>>> exec sp_executesql N'SELECT userprofil0_.UserInfoRefId as >>>>>> UserInfo1_4_0_, userprofil0_.Version as Version4_0_, >>>>>> userprofil0_.CurrentRosmatRefId as CurrentR3_4_0_ FROM UserProfile >>>>>> userprofil0_ WHERE userprofil0_.userinforef...@p0',N'@p0 >>>>>> uniqueidentifier',@p0='60E9764B-D48E-4260-81BC-308B3486851F' >> >>>>>> This is on NHibernate 2.1.2 >> >>>>> -- >>>>> 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 athttp:// >>> 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] >>> > >>> . >>> 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. > -- 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.
