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