|
From: <aye...@us...> - 2010-10-07 20:57:14
|
Revision: 5238
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5238&view=rev
Author: ayenderahien
Date: 2010-10-07 20:57:08 +0000 (Thu, 07 Oct 2010)
Log Message:
-----------
Fixing NH2331
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs
Modified: trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2010-10-07 16:30:45 UTC (rev 5237)
+++ trunk/nhibernate/src/NHibernate/Loader/Criteria/CriteriaQueryTranslator.cs 2010-10-07 20:57:08 UTC (rev 5238)
@@ -520,13 +520,13 @@
return alias;
}
- public string GetEntityName(ICriteria criteria)
- {
- ICriteriaInfoProvider result;
- if(criteriaInfoMap.TryGetValue(criteria, out result)==false)
- throw new ArgumentException("Could not find a matching criteria info provider to: " + criteria);
- return result.Name;
- }
+ public string GetEntityName(ICriteria criteria)
+ {
+ ICriteriaInfoProvider result;
+ if (criteriaInfoMap.TryGetValue(criteria, out result) == false)
+ return null;
+ return result.Name;
+ }
public string GetColumn(ICriteria criteria, string propertyName)
{
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs 2010-10-07 16:30:45 UTC (rev 5237)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2331/Nh2331Test.cs 2010-10-07 20:57:08 UTC (rev 5238)
@@ -13,7 +13,7 @@
public double Sum { get; set; }
}
- [TestFixture, Ignore("Not fixed yet.")]
+ [TestFixture]
public class Nh2331Test : BugTestCase
{
private Guid person0Id;
@@ -106,46 +106,46 @@
{
using (ISession session = OpenSession())
{
- DetachedCriteria memberGroupCriteria
- = DetachedCriteria
- .For<MemberGroup>()
- .CreateAlias("Members", "m")
- .CreateAlias("Forums", "f")
- .Add(Restrictions.EqProperty("m.Id", "p.Id"))
- .SetProjection(Projections.Property("f.Id"))
- ;
+ DetachedCriteria memberGroupCriteria
+ = DetachedCriteria
+ .For<MemberGroup>()
+ .CreateAlias("Members", "m")
+ .CreateAlias("Forums", "f")
+ .Add(Restrictions.EqProperty("m.Id", "p.Id"))
+ .SetProjection(Projections.Property("f.Id"))
+ ;
- var ids = new List<Guid>();
- ids.Add(person0Id);
- ids.Add(person1Id);
+ var ids = new List<Guid>();
+ ids.Add(person0Id);
+ ids.Add(person1Id);
- DetachedCriteria forumCriteria
- = DetachedCriteria
- .For<Forum>("fff")
- .Add(Restrictions.NotEqProperty("Id", "p.Id"))
- .Add(Subqueries.PropertyIn("Id", memberGroupCriteria))
- .SetProjection
- (
- Projections.Sum("Dollars")
- )
- ;
+ DetachedCriteria forumCriteria
+ = DetachedCriteria
+ .For<Forum>("fff")
+ .Add(Restrictions.NotEqProperty("Id", "p.Id"))
+ .Add(Subqueries.PropertyIn("Id", memberGroupCriteria))
+ .SetProjection
+ (
+ Projections.Sum("Dollars")
+ )
+ ;
- DetachedCriteria personCriteria
- = DetachedCriteria
- .For<Person>("p")
- .Add(Restrictions.InG("Id", ids))
- .SetProjection
- (
- Projections
- .ProjectionList()
- .Add(Projections.Property("Name"), "Name")
- .Add(Projections.SubQuery(forumCriteria), "Sum")
- )
- .SetResultTransformer(Transformers.AliasToBean(typeof (Bar)))
- ;
+ DetachedCriteria personCriteria
+ = DetachedCriteria
+ .For<Person>("p")
+ .Add(Restrictions.InG("Id", ids))
+ .SetProjection
+ (
+ Projections
+ .ProjectionList()
+ .Add(Projections.Property("Name"), "Name")
+ .Add(Projections.SubQuery(forumCriteria), "Sum")
+ )
+ .SetResultTransformer(Transformers.AliasToBean(typeof (Bar)))
+ ;
- ICriteria criteria = personCriteria.GetExecutableCriteria(session);
- criteria.Executing(c => c.List()).NotThrows();
+ ICriteria criteria = personCriteria.GetExecutableCriteria(session);
+ criteria.Executing(c => c.List()).NotThrows();
}
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|