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.

Reply via email to