MOst likely "ghosts". See
http://nhforge.org/blogs/nhibernate/archive/2008/10/20/how-test-your-mappings-the-ghostbuster.aspx.
Searches on nhibernate ghostbusters will turn up more information

John Davidson

2010/8/17 osman nuri katib <[email protected]>

> Thank you but there is no problem in select statements..Update and Insert
> is problem.
> How can I figured out?
>
> 2010/8/17 Dwarrel <[email protected]>
>
> This is normal (though often confusing) behaviour of NHibernate when
>> using a query which contains a Join. You basically get as many items
>> back when you would for a SQL result. I created a wrapper function
>> around the list to only return met the unique items. So that when I
>> call Customer Join Purchases and want to iterate over the customers I
>> do only visit every customer object once. The same happens when you
>> use SetFetchmode Join in a ICriteria query. I am not sure why they
>> designed it like this, because it is puzzling at first but it seems
>> consistent. When you add all the results to a set it will
>> automatically un-duplicate. Have had big issues when setting
>> relationships using lists rather than sets with this thing! Suddenly
>> when using join load performance optimisations I got duplicates in the
>> collections, just like you describe above.
>>
>> Hope this helps,
>> Theo
>>
>> On Aug 15, 8:34 am, Kasi <[email protected]> wrote:
>> > The query (in the code), while running on SQL server returns the
>> > following result.
>> >
>> > 53      10      _heading        Supplier Sustainability
>> > Assessment      101
>> > 53      10      _heading        FR_SUST 102
>> > 54      10      _tabHome        Home    101
>> > 55      10      _tabQuestionnaire       Questionnaire   101
>> > 56      10      _tabResults     Results 101
>> > 57      10      _tabResourcesFAQ        Resources & FAQs
>> > 101
>> >
>> > But while running the code on visual studio returns the first row
>> > twice and instead of the second row -
>> >
>> > 53      10      _heading        Supplier Sustainability
>> > Assessment      101
>> > 53      10      _heading        Supplier Sustainability
>> > Assessment      101
>> > 54      10      _tabHome        Home    101
>> > 55      10      _tabQuestionnaire       Questionnaire   101
>> > 56      10      _tabResults     Results 101
>> > 57      10      _tabResourcesFAQ        Resources & FAQs
>> > 101
>> >
>> > I have no idea as to why.
>> >
>> > Code.
>> >
>> >  private IList<WebpageElement> GetWBById(int id)
>> >         {
>> >             using (ISession session = NHibernateHelper.OpenSession())
>> >             using (ITransaction transaction =
>> > session.BeginTransaction())
>> >             {
>> >                 try
>> >                 {
>> >                     string sql = @"
>> >                                                 SELECT
>> >                         web_page_html_element.html_element_id,
>> >                         web_page_html_element.web_page_id,
>> >                         html_element.html_element_name,
>> >                         Html_Element_Text.html_element_txt,
>> >                         Html_Element_Text.language_code
>> >                         FROM  Web_Page_Html_Element INNER JOIN
>> >                         Html_Element ON
>> >                         Web_Page_Html_Element.html_element_id =
>> > Html_Element.html_element_id INNER JOIN
>> >                         Html_Element_Text ON
>> > Html_Element.html_element_id = Html_Element_Text.html_element_id
>> >                         WHERE (Web_Page_Html_Element.web_page_id
>> > = :id)";
>> >
>> >                     ISQLQuery query =
>> > (ISQLQuery)session.CreateSQLQuery(sql)
>> >                         .SetInt32("id", id);
>> >                     var list =
>> > query.AddEntity(typeof(WebpageElement)).List<WebpageElement>();
>> >                     return list;
>> >                 }
>> >                 finally
>> >                 {
>> >                     transaction.Commit();
>> >                 }
>> >             }
>> >
>> >         }
>> >
>> > WebpageElement.CS
>> >         public class WebpageElement
>> >         {
>> >                 public virtual int Id { get; set; }
>> >                 public virtual int WebpageId { get; set; }
>> >                 public virtual string Name { get; set; }
>> >                 public virtual string Text { get; set; }
>> >                 public virtual string LanguageCode { get; set; }
>> >
>> >                 public WebpageElement() { }
>> >         }
>> >
>> > WebpagElement.hbm.xml
>> >         <class name="WebpageElement" table="web_page_html_element">
>> >                 <id name="Id" column="html_element_id">
>> >                         <generator class="native"/>
>> >                 </id>
>> >                 <property name ="WebpageId">
>> >                         <column name="web_page_id"></column>
>> >                 </property>
>> >                 <join table="html_element">
>> >                         <key column="html_element_id" />
>> >                         <property name="Name">
>> >                                 <column name="html_element_name" />
>> >                         </property>
>> >                 </join>
>> >                 <join table="html_element_text">
>> >                         <key column="html_element_id"/>
>> >                         <property name="Text">
>> >                                 <column name="html_element_txt" />
>> >                         </property>
>> >                         <property name="LanguageCode">
>> >                                 <column name="language_code" />
>> >                         </property>
>> >                 </join>
>> >         </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]>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/nhusers?hl=en.
>>
>>
>
>
> --
> Osman Nuri KATİB
>        YTÜ
> Bilgisayar Mühendisliği
>
>  --
> 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.
>

-- 
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