From: <fab...@us...> - 2009-02-20 19:48:13
|
Revision: 4089 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4089&view=rev Author: fabiomaulo Date: 2009-02-20 19:48:11 +0000 (Fri, 20 Feb 2009) Log Message: ----------- Fix NH-1679 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Criterion/CriterionUtil.cs trunk/nhibernate/src/NHibernate/Criterion/PropertyProjection.cs trunk/nhibernate/src/NHibernate/NHibernate.csproj trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1679/Fixture.cs Added Paths: ----------- trunk/nhibernate/src/NHibernate/Criterion/IPropertyProjection.cs Modified: trunk/nhibernate/src/NHibernate/Criterion/CriterionUtil.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Criterion/CriterionUtil.cs 2009-02-19 09:55:56 UTC (rev 4088) +++ trunk/nhibernate/src/NHibernate/Criterion/CriterionUtil.cs 2009-02-20 19:48:11 UTC (rev 4089) @@ -101,11 +101,13 @@ params object[] values) { List<TypedValue> types = new List<TypedValue>(); - if (projection == null) + var propertyProjection = projection as IPropertyProjection; + if (projection == null || propertyProjection != null) { + var pn = propertyProjection != null ? propertyProjection.PropertyName : propertyName; foreach (object value in values) { - TypedValue typedValue = criteriaQuery.GetTypedValue(criteria, propertyName, value); + TypedValue typedValue = criteriaQuery.GetTypedValue(criteria, pn, value); types.Add(typedValue); } } Added: trunk/nhibernate/src/NHibernate/Criterion/IPropertyProjection.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Criterion/IPropertyProjection.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Criterion/IPropertyProjection.cs 2009-02-20 19:48:11 UTC (rev 4089) @@ -0,0 +1,7 @@ +namespace NHibernate.Criterion +{ + public interface IPropertyProjection + { + string PropertyName { get; } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Criterion/PropertyProjection.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Criterion/PropertyProjection.cs 2009-02-19 09:55:56 UTC (rev 4088) +++ trunk/nhibernate/src/NHibernate/Criterion/PropertyProjection.cs 2009-02-20 19:48:11 UTC (rev 4089) @@ -10,7 +10,7 @@ /// A property value, or grouped property value /// </summary> [Serializable] - public class PropertyProjection : SimpleProjection + public class PropertyProjection : SimpleProjection, IPropertyProjection { private string propertyName; private bool grouped; Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2009-02-19 09:55:56 UTC (rev 4088) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2009-02-20 19:48:11 UTC (rev 4089) @@ -447,6 +447,7 @@ <Compile Include="Bytecode\HibernateByteCodeException.cs" /> <Compile Include="Bytecode\ProxyFactoryFactoryNotConfiguredException.cs" /> <Compile Include="Bytecode\UnableToLoadProxyFactoryFactoryException.cs" /> + <Compile Include="Criterion\IPropertyProjection.cs" /> <Compile Include="Dialect\MsSql2008Dialect.cs" /> <Compile Include="Dialect\InformixDialect0940.cs" /> <Compile Include="Dialect\InformixDialect1000.cs" /> Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1679/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1679/Fixture.cs 2009-02-19 09:55:56 UTC (rev 4088) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1679/Fixture.cs 2009-02-20 19:48:11 UTC (rev 4089) @@ -10,13 +10,13 @@ [Test] public void UsingExpression() { - TestAction(criteria => { criteria.Add(Expression.Eq("alias.BooleanData", true)); }); + TestAction(criteria => criteria.Add(Restrictions.Eq("alias.BooleanData", true))); } - [Test,Ignore] + [Test] public void UsingExpressionProjection() { - TestAction(criteria => { criteria.Add(Expression.Eq(Projections.Property("alias.BooleanData"), true)); }); + TestAction(criteria => criteria.Add(Restrictions.Eq(Projections.Property("alias.BooleanData"), true))); } protected override void OnSetUp() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |