http://nhforge.org/doc/nh/en/index.html#mapping-quotedidentifiers

2009/5/7 PetersP <[email protected]>

>
> I have 2 classes named Order and Orderrow. I use NHibernate to get a
> join on it.
>
> When running NUnit to test the query, I got an ADOException:
>
>
>
> Logica.NHibernate.Tests.NHibernateTest.SelectAllOrdersFromSupplierNamedKnorrTest:
>    NHibernate.ADOException : could not execute query
>    [ SELECT this_.OrderId as OrderId1_1_, this_.CreatedAt as
> CreatedAt1_1_, this_.ShippedAt as ShippedAt1_1_, this_.ContactId as
> ContactId1_1_, customer2_.ContactId as ContactId0_0_,
> customer2_.LastName as LastName0_0_, customer2_.Initials as
> Initials0_0_, customer2_.Address as Address0_0_, customer2_.City as
> City0_0_, customer2_.Country as Country0_0_ FROM Order this_ inner
> join Contact customer2_ on this_.ContactId=customer2_.ContactId ]
>    [SQL: SELECT this_.OrderId as OrderId1_1_, this_.CreatedAt as
> CreatedAt1_1_, this_.ShippedAt as ShippedAt1_1_, this_.ContactId as
> ContactId1_1_, customer2_.ContactId as ContactId0_0_,
> customer2_.LastName as LastName0_0_, customer2_.Initials as
> Initials0_0_, customer2_.Address as Address0_0_, customer2_.City as
> City0_0_, customer2_.Country as Country0_0_ FROM Order this_ inner
> join Contact customer2_ on this_.ContactId=customer2_.ContactId]
>      ----> System.Data.SqlClient.SqlException : Incorrect syntax near
> the keyword 'Order'.
>
>
> When analyzing the SQL that has been created by NHibernate, I notice
> that the Order class is corrupting the SQL statement, because ORDER BY
> is an internal keyword in SQL.
>
> This is the created SQL in NHibernate:
>
>    SELECT this_.OrderId as OrderId1_1_, this_.CreatedAt as
> CreatedAt1_1_, this_.ShippedAt as ShippedAt1_1_, this_.ContactId as
> ContactId1_1_, customer2_.ContactId as ContactId0_0_,
> customer2_.LastName as LastName0_0_, customer2_.Initials as
> Initials0_0_, customer2_.Address as Address0_0_, customer2_.City as
> City0_0_, customer2_.Country as Country0_0_ FROM Order this_ inner
> join Contact customer2_ on this_.ContactId=customer2_.ContactId
>
> I altered it in SQL Server 2008 Management studio like this:
>
>    SELECT this_.OrderId as OrderId1_1_, this_.CreatedAt as
> CreatedAt1_1_, this_.ShippedAt as ShippedAt1_1_, this_.ContactId as
> ContactId1_1_, customer2_.ContactId as ContactId0_0_,
> customer2_.LastName as LastName0_0_, customer2_.Initials as
> Initials0_0_, customer2_.Address as Address0_0_, customer2_.City as
> City0_0_, customer2_.Country as Country0_0_ FROM [Order] this_ inner
> join Contact customer2_ on this_.ContactId=customer2_.ContactId`
>
> I added brackets to the table name Order (like this: [Order]) and it
> is fixed.
>
> But how do I get this fixed in NHibernate ? Is there a mapping XML
> file instruction for it to get this done ?
>
>
> (using VS2008 SP1, SQL Server 2008 SP1, NHibernate 2.0.1 GA)
>
>
>
> >
>


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