We use something like this:
public IList<ContactHistoryEvent> GetMyEntities(int argument)
{
IQuery query = _session.GetNamedQuery(queryName);
query.SetParameter(0, argument);
return query.List<ContactHistoryEvent>();
}
Cheers,
John
On Jun 25, 11:39 am, JamesSpibey <[email protected]> wrote:
> Hi John,
>
> Thanks for the reply. Yes, I need to pass parameters into the TVF,
> hence why I though it couldn't be used in a join.
>
> Thanks for your example. I'm new to the <sql-query> tag - are those
> parameters you are passing into it? Do you have a simple example of
> how you would call that query from within nHibernate?
>
> Thanks
>
> James
>
> On Jun 24, 9:43 pm, John Rayner <[email protected]> wrote:
>
>
>
> > If you are passing parameters into your TVF (and into CONTAINSTABLE)
> > then it will need to be a custom SQL query. If you aren't passing any
> > parameters in then you have the option of using a view instead of a
> > TVF.
>
> > Out of interest, why do think that a parameter-less TVF won't work for
> > joins and associations? I would think you could just put it in the
> > table attribute of your <class> mapping.
>
> > If it's any help, here's one example of how we use a TVF to load up
> > some entities:
>
> > <class name="Beacon.Business.ContactHistory.ContactHistoryEvent,
> > Beacon.Business"
> > table="ContactHistoryEvent"
> > lazy="false"
> > mutable="false">
> > <!-- property mappings here -->
> > </class>
>
> > <resultset name="DefaultContactHistoryMapping">
> > <return
> > class="Beacon.Business.ContactHistory.ContactHistoryEvent,Beacon.Business">
> > <!-- return-property translations here -->
> > </return>
> > </resultset>
>
> > <sql-query name="ContactHistoryEventOutput" resultset-
> > ref="DefaultContactHistoryMapping">
> > <![CDATA[ SELECT * FROM ContactHistoryEventOutput ( ?, DEFAULT,
> > DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT ) ]]>
> > </sql-query>
>
> > In a couple of places, we've also used the output of TVFs as the
> > source for collections from other entities.
>
> > One word of warning ... NHib places great emphasis on the identity of
> > an entity. You need to make sure the output of your TVF respects
> > this, if there is any possibility of the TvF being called twice within
> > the same session.
>
> > Cheers,
> > John
>
> > On Jun 23, 1:57 pm, JamesSpibey <[email protected]> wrote:
>
> > > Hi,
>
> > > We need to use the Sql Server CONTAINSTABLE() function from NHibernate
> > > and the way we have done this in the past is to wrap it in a Table
> > > Value Function (TVF) and then join on this.
>
> > > Is there a way to use TVFs from NHibernate to map to a type? We will
> > > need to join on the TVF and create associations etc so I don't think a
> > > custom SQL query will do it
>
> > > Thanks
>
> > > James- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---