From: <fab...@us...> - 2010-07-22 15:39:57
|
Revision: 5044 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5044&view=rev Author: fabiomaulo Date: 2010-07-22 15:39:51 +0000 (Thu, 22 Jul 2010) Log Message: ----------- Fix NH-2219 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs Modified: trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs 2010-07-22 14:21:58 UTC (rev 5043) +++ trunk/nhibernate/src/NHibernate/SqlCommand/SqlUpdateBuilder.cs 2010-07-22 15:39:51 UTC (rev 5044) @@ -123,14 +123,8 @@ public SqlUpdateBuilder AppendAssignmentFragment(SqlString fragment) { - if (assignments == null) - { - assignments = fragment; - } - else - { - assignments.Append(", ").Append(fragment); - } + // SqlString is immutable + assignments = assignments == null ? fragment : assignments.Append(", ").Append(fragment); return this; } Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-07-22 14:21:58 UTC (rev 5043) +++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BulkManipulation.cs 2010-07-22 15:39:51 UTC (rev 5044) @@ -6,6 +6,7 @@ using NHibernate.Id; using NHibernate.Persister.Entity; using NUnit.Framework; +using SharpTestsEx; namespace NHibernate.Test.HQL.Ast { @@ -609,6 +610,37 @@ } [Test] + public void UpdateMultiplePropertyOnAnimal() + { + var data = new TestData(this); + data.Prepare(); + + using (ISession s = OpenSession()) + using (ITransaction t = s.BeginTransaction()) + { + int count = + s.CreateQuery("update Animal set description = :newDesc, bodyWeight = :w1 where description = :desc") + .SetString("desc", data.Polliwog.Description) + .SetString("newDesc", "Tadpole") + .SetDouble("w1", 3) + .ExecuteUpdate(); + + count.Should().Be(1); + t.Commit(); + } + + using (ISession s = OpenSession()) + using (s.BeginTransaction()) + { + var tadpole = s.Get<Animal>(data.Polliwog.Id); + tadpole.Description.Should().Be("Tadpole"); + tadpole.BodyWeight.Should().Be(3); + } + + data.Cleanup(); + } + + [Test] public void UpdateOnMammal() { var data = new TestData(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |