I don't know.
With a failing test, perhaps, we may have the chance to say something more
sure.

On Fri, Dec 17, 2010 at 2:20 PM, Richard Birkby <[email protected]> wrote:

> So have I done something stupid with my code?
>
>
> On Fri, Dec 17, 2010 at 4:24 PM, Fabio Maulo <[email protected]> wrote:
>
>> everything is possible in a release if we don't have a test for your
>> specific usecase.
>> no-test= everything possible
>>
>>
>> On Fri, Dec 17, 2010 at 11:59 AM, Richard Birkby <[email protected]>wrote:
>>
>>> I've upgrade a project of mine from NH2 to NH3 and now get an error. So I
>>> created a testcase reduction - but I can't believe this is a bug - at least
>>> not one that would have got into a release. I'd like to know if I'm being
>>> stupid before I create a new JIRA report. What is wrong with this code? The
>>> error produced is:
>>>
>>> 14:51:43,918 DEBUG SQL:0 -
>>>     SELECT
>>>         e1x1_.id as y0_
>>>     FROM
>>>         Entity2 this_
>>> 14:51:44,480 WARN  ADOExceptionReporter:0 -
>>> System.Data.SqlClient.SqlException: The multi-part identifier "e1x1_.id"
>>> could not be bound.
>>>
>>>
>>>         [Test]
>>>         public void ShouldContainJoin()
>>>         {
>>>             using (var session = OpenSession())
>>>             {
>>>                 using (var ls = new SqlLogSpy())
>>>                 {
>>>                     ICriteria criteria =
>>> session.CreateCriteria(typeof(Entity2), "e2")
>>>                         .CreateAlias("e2.Entity1", "e1")
>>>                         .SetProjection(Projections.Property("e1.Id"));
>>>
>>>                     criteria.List<Guid>();
>>>                 }
>>>             }
>>>         }
>>>
>>> -------
>>>
>>> public class Entity1
>>> {
>>>  public virtual Guid Id { get; set; }
>>> }
>>>
>>> public class Entity2
>>>  {
>>>         public virtual Entity1 Entity1 { get; set; }
>>>         public virtual Entity3 Entity3 { get; set; }
>>>
>>>         public virtual bool Equals(Entity2 other)
>>>         {
>>>             if (ReferenceEquals(null, other))
>>>             {
>>>                 return false;
>>>             }
>>>             if (ReferenceEquals(this, other))
>>>              {
>>>                 return true;
>>>             }
>>>             return Equals(other.Entity1, Entity1) &&
>>> Equals(other.Entity3, Entity3);
>>>         }
>>>
>>>          public override bool Equals(object obj)
>>>         {
>>>             return Equals(obj as Entity2);
>>>         }
>>>
>>>         public override int GetHashCode()
>>>         {
>>>             unchecked
>>>             {
>>>                 return ((Entity1 != null ? Entity1.GetHashCode() : 0) *
>>> 397) ^ (Entity3 != null ? Entity3.GetHashCode() : 0);
>>>             }
>>>         }
>>>     }
>>>
>>> public class Entity3
>>> {
>>> public virtual Guid Id { get; set; }
>>>  }
>>>
>>> -----
>>>
>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
>>> assembly="NHibernate.Test"
>>>                    namespace="NHibernate.Test.NHSpecificTest.NHXXXX">
>>>  <class name="Entity1" table="Entity1">
>>>  <id name="Id" type="Guid" column="id">
>>> <generator class="guid" />
>>>  </id>
>>> </class>
>>>  <class name="Entity2" table="Entity2">
>>>  <composite-id>
>>>         <key-many-to-one name="Entity1" class="Entity1" column="id1"  />
>>>         <key-many-to-one name="Entity3" class="Entity3" column="id3"  />
>>>      </composite-id>
>>>  </class>
>>>  <class name="Entity3" table="Entity3">
>>> <id name="Id" type="Guid" column="id">
>>>  <generator class="guid" />
>>> </id>
>>> </class>
>>> </hibernate-mapping>
>>>
>>
>>
>>
>> --
>> Fabio Maulo
>>
>>
>


-- 
Fabio Maulo

Reply via email to