You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
(248) |
May
(82) |
Jun
(90) |
Jul
(177) |
Aug
(253) |
Sep
(157) |
Oct
(151) |
Nov
(143) |
Dec
(278) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(152) |
Feb
(107) |
Mar
(177) |
Apr
(133) |
May
(259) |
Jun
(81) |
Jul
(119) |
Aug
(306) |
Sep
(416) |
Oct
(240) |
Nov
(329) |
Dec
(206) |
2006 |
Jan
(466) |
Feb
(382) |
Mar
(153) |
Apr
(162) |
May
(133) |
Jun
(21) |
Jul
(18) |
Aug
(37) |
Sep
(97) |
Oct
(114) |
Nov
(110) |
Dec
(28) |
2007 |
Jan
(74) |
Feb
(65) |
Mar
(49) |
Apr
(76) |
May
(43) |
Jun
(15) |
Jul
(68) |
Aug
(55) |
Sep
(63) |
Oct
(59) |
Nov
(70) |
Dec
(66) |
2008 |
Jan
(71) |
Feb
(60) |
Mar
(120) |
Apr
(31) |
May
(48) |
Jun
(81) |
Jul
(107) |
Aug
(51) |
Sep
(80) |
Oct
(83) |
Nov
(83) |
Dec
(79) |
2009 |
Jan
(83) |
Feb
(110) |
Mar
(97) |
Apr
(91) |
May
(291) |
Jun
(250) |
Jul
(197) |
Aug
(58) |
Sep
(54) |
Oct
(122) |
Nov
(68) |
Dec
(34) |
2010 |
Jan
(50) |
Feb
(17) |
Mar
(63) |
Apr
(61) |
May
(84) |
Jun
(81) |
Jul
(138) |
Aug
(144) |
Sep
(78) |
Oct
(26) |
Nov
(30) |
Dec
(61) |
2011 |
Jan
(33) |
Feb
(35) |
Mar
(166) |
Apr
(221) |
May
(109) |
Jun
(76) |
Jul
(27) |
Aug
(37) |
Sep
(1) |
Oct
(4) |
Nov
(2) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
(1) |
2014 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <fab...@us...> - 2010-12-18 16:26:53
|
Revision: 5328 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5328&view=rev Author: fabiomaulo Date: 2010-12-18 16:26:47 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Test for NH-2118 Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Fixture.cs 2010-12-18 16:26:47 UTC (rev 5328) @@ -0,0 +1,56 @@ +using System.Linq; +using NHibernate.Linq; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2118 +{ + public class Person + { + public virtual int Id { get; set; } + public virtual string FirstName { get; set; } + public virtual string LastName { get; set; } + } + + [TestFixture] + [Ignore("Not fixed yet.")] + public class Fixture : BugTestCase + { + protected override void OnSetUp() + { + base.OnSetUp(); + + using(var s = sessions.OpenStatelessSession()) + using(var tx = s.BeginTransaction()) + { + s.Insert(new Person {FirstName = "Bart", LastName = "Simpson"}); + s.Insert(new Person { FirstName = "Homer", LastName = "Simpson" }); + s.Insert(new Person { FirstName = "Apu", LastName = "Nahasapeemapetilon" }); + s.Insert(new Person { FirstName = "Montgomery ", LastName = "Burns" }); + tx.Commit(); + } + } + + [Test] + public void CanGroupByWithoutSelect() + { + using(var s = sessions.OpenSession()) + using (s.BeginTransaction()) + { + var groups = s.Query<Person>().GroupBy(p => p.LastName).ToList(); + + Assert.AreEqual(3, groups.Count); + } + } + + protected override void OnTearDown() + { + base.OnTearDown(); + using(var s = sessions.OpenStatelessSession()) + using (var tx = s.BeginTransaction()) + { + s.CreateQuery("delete from Person").ExecuteUpdate(); + tx.Commit(); + } + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2118/Mappings.hbm.xml 2010-12-18 16:26:47 UTC (rev 5328) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2118"> + + <class name="Person"> + <id name="Id"> + <generator class="increment" /> + </id> + <property name="FirstName"/> + <property name="LastName" /> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:17:48 UTC (rev 5327) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:26:47 UTC (rev 5328) @@ -480,6 +480,7 @@ <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2112\Model.cs" /> + <Compile Include="NHSpecificTest\NH2118\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2138\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2147\DefaultBatchSize.cs" /> <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> @@ -2357,6 +2358,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2118\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2244\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2394\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 16:17:55
|
Revision: 5327 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5327&view=rev Author: fabiomaulo Date: 2010-12-18 16:17:48 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Tests for NH-2362 (not fixed yet) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Category.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,8 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Category + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,39 @@ +using System.Linq; +using NUnit.Framework; +using NHibernate.Linq; + +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + [Ignore("Not fixed yet.")] + public class Fixture : BugTestCase + { + [Test] + public void CanParseMultipleGroupByAndSelect() + { + using (var session = OpenSession()) + { + (from p + in session.Query<Product>() + group p by new { CategoryId = p.Category.Id, SupplierId = p.Supplier.Id } + into g + let totalPrice = g.Sum(p => p.Price) + select new { g.Key.CategoryId, g.Key.SupplierId, TotalPrice = totalPrice }).ToList(); + + } + } + + [Test] + public void CanParseMultipleGroupBy() + { + using (var session = OpenSession()) + { + (from p + in session.Query<Product>() + group p by new {CategoryId = p.Category.Id, SupplierId = p.Supplier.Id} + into g + let totalPrice = g.Sum(p => p.Price) + select totalPrice).ToList(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Mappings.hbm.xml 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2362"> + + <class name="Category" table="Category"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + </class> + <class name="Product" table="Product"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + <property name="Price" column="Price" type="decimal" /> + <many-to-one name="Category" column="CategoryId"/> + <many-to-one name="Supplier" column="SupplierId"/> + </class> + <class name="Supplier" table="Supplier"> + <id name="Id" column="Id" type="int"> + <generator class="identity" /> + </id> + <property name="Name" column="Name" type="string" /> + </class> + +</hibernate-mapping> \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Product.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,11 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Product + { + public virtual int Id { get; set; } + public virtual Category Category { get; set; } + public virtual Supplier Supplier { get; set; } + public virtual string Name { get; set; } + public virtual decimal Price { get; set; } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Supplier.cs 2010-12-18 16:17:48 UTC (rev 5327) @@ -0,0 +1,8 @@ +namespace NHibernate.Test.NHSpecificTest.NH2362 +{ + public class Supplier + { + public virtual int Id { get; set; } + public virtual string Name { get; set; } + } +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:03:32 UTC (rev 5326) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-18 16:17:48 UTC (rev 5327) @@ -537,6 +537,10 @@ <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="NHSpecificTest\NH2361\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2362\Category.cs" /> + <Compile Include="NHSpecificTest\NH2362\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2362\Product.cs" /> + <Compile Include="NHSpecificTest\NH2362\Supplier.cs" /> <Compile Include="NHSpecificTest\NH2374\NH2374Fixture.cs" /> <Compile Include="NHSpecificTest\NH2378\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2378\TestEntity.cs" /> @@ -2353,6 +2357,7 @@ <EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" /> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="NHSpecificTest\NH2362\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2244\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2394\Mappings.hbm.xml" /> <EmbeddedResource Include="DynamicEntity\Interceptor\Customer.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 16:03:38
|
Revision: 5326 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5326&view=rev Author: fabiomaulo Date: 2010-12-18 16:03:32 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Others not failing tests provided by Dean Ward checking others cases for eager fetching Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs Modified: trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-12-18 15:59:02 UTC (rev 5325) +++ trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-12-18 16:03:32 UTC (rev 5326) @@ -67,7 +67,7 @@ [Test] public void FetchWithWhere() { - // NH-2381 + // NH-2381 NH-2362 (from p in session.Query<Product>().Fetch(a => a.Supplier) where p.ProductId == 1 @@ -77,11 +77,51 @@ [Test] public void FetchManyWithWhere() { - // NH-2381 + // NH-2381 NH-2362 (from s in session.Query<Supplier>().FetchMany(a => a.Products) where s.SupplierId == 1 select s).ToList(); } + + [Test] + public void FetchAndThenFetchWithWhere() + { + // NH-2362 + (from p + in session.Query<User>().Fetch(a => a.Role).ThenFetch(a => a.Entity) + where p.Id == 1 + select p).ToList(); + } + + [Test] + public void FetchAndThenFetchManyWithWhere() + { + // NH-2362 + (from p + in session.Query<Employee>().Fetch(a => a.Superior).ThenFetchMany(a => a.Orders) + where p.EmployeeId == 1 + select p).ToList(); + } + + [Test] + public void FetchManyAndThenFetchWithWhere() + { + // NH-2362 + (from s + in session.Query<Supplier>().FetchMany(a => a.Products).ThenFetch(a => a.Category) + where s.SupplierId == 1 + select s).ToList(); + } + + [Test] + public void FetchManyAndThenFetchManyWithWhere() + { + // NH-2362 + (from s + in session.Query<Supplier>().FetchMany(a => a.Products).ThenFetchMany(a => a.OrderLines) + where s.SupplierId == 1 + select s).ToList(); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 15:59:08
|
Revision: 5325 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5325&view=rev Author: fabiomaulo Date: 2010-12-18 15:59:02 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Fix of NH-2375 and NH-2381 (thanks to Dean Ward) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Linq/Visitors/QueryModelVisitor.cs trunk/nhibernate/src/NHibernate/Linq/Visitors/ResultOperatorProcessors/ProcessOfType.cs trunk/nhibernate/src/NHibernate/NHibernate.csproj trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs trunk/nhibernate/src/NHibernate.Test/Linq/WhereTests.cs Added Paths: ----------- trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriter.cs trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriterResult.cs Added: trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriter.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriter.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriter.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -0,0 +1,112 @@ +namespace NHibernate.Linq.ReWriters +{ + using System.Collections.Generic; + using System.Linq; + using System.Linq.Expressions; + + using NHibernate.Linq.Visitors; + + using Remotion.Data.Linq; + using Remotion.Data.Linq.Clauses; + using Remotion.Data.Linq.Clauses.Expressions; + using Remotion.Data.Linq.Clauses.ResultOperators; + using Remotion.Data.Linq.Clauses.StreamedData; + using Remotion.Data.Linq.EagerFetching; + + /// <summary> + /// Removes various result operators from a query so that they can be processed at the same + /// tree level as the query itself. + /// </summary> + public class ResultOperatorRewriter : QueryModelVisitorBase + { + private readonly List<ResultOperatorBase> resultOperators = new List<ResultOperatorBase>(); + private IStreamedDataInfo evaluationType; + + private ResultOperatorRewriter() + { + } + + public static ResultOperatorRewriterResult Rewrite(QueryModel queryModel) + { + ResultOperatorRewriter rewriter = new ResultOperatorRewriter(); + + rewriter.VisitQueryModel(queryModel); + + return new ResultOperatorRewriterResult(rewriter.resultOperators, rewriter.evaluationType); + } + + public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel) + { + base.VisitMainFromClause(fromClause, queryModel); + + ResultOperatorExpressionRewriter rewriter = new ResultOperatorExpressionRewriter(); + fromClause.TransformExpressions(rewriter.Rewrite); + if (fromClause.FromExpression.NodeType == ExpressionType.Constant) + { + System.Type expressionType = queryModel.MainFromClause.FromExpression.Type; + if (expressionType.IsGenericType && expressionType.GetGenericTypeDefinition() == typeof(NhQueryable<>)) + { + queryModel.MainFromClause.ItemType = expressionType.GetGenericArguments()[0]; + } + } + + this.resultOperators.AddRange(rewriter.ResultOperators); + this.evaluationType = rewriter.EvaluationType; + } + + /// <summary> + /// Rewrites expressions so that they sit in the outermost portion of the query. + /// </summary> + private class ResultOperatorExpressionRewriter : NhExpressionTreeVisitor + { + private static readonly System.Type[] rewrittenTypes = new[] + { + typeof(FetchRequestBase), + typeof(OfTypeResultOperator), + }; + + private readonly List<ResultOperatorBase> resultOperators = new List<ResultOperatorBase>(); + private IStreamedDataInfo evaluationType; + + /// <summary> + /// Gets an <see cref="IEnumerable{T}" /> of <see cref="ResultOperatorBase" /> that were rewritten. + /// </summary> + public IEnumerable<ResultOperatorBase> ResultOperators + { + get { return this.resultOperators; } + } + + /// <summary> + /// Gets the <see cref="IStreamedDataInfo" /> representing the type of data that the operator works upon. + /// </summary> + public IStreamedDataInfo EvaluationType + { + get { return this.evaluationType; } + } + + public Expression Rewrite(Expression expression) + { + Expression rewrittenExpression = this.VisitExpression(expression); + + return rewrittenExpression; + } + + protected override Expression VisitSubQueryExpression(SubQueryExpression expression) + { + this.resultOperators.AddRange( + expression.QueryModel.ResultOperators + .Where(r => rewrittenTypes.Any(t => t.IsAssignableFrom(r.GetType())))); + + this.resultOperators.ForEach(f => expression.QueryModel.ResultOperators.Remove(f)); + this.evaluationType = expression.QueryModel.SelectClause.GetOutputDataInfo(); + + if (expression.QueryModel.ResultOperators.Count == 0) + { + return expression.QueryModel.MainFromClause.FromExpression; + } + + return base.VisitSubQueryExpression(expression); + } + } + } +} Added: trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriterResult.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriterResult.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Linq/ReWriters/ResultOperatorRewriterResult.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -0,0 +1,30 @@ +namespace NHibernate.Linq.ReWriters +{ + using System.Collections.Generic; + + using Remotion.Data.Linq.Clauses; + using Remotion.Data.Linq.Clauses.StreamedData; + + /// <summary> + /// Result of <see cref="ResultOperatorRewriter.Rewrite" />. + /// </summary> + public class ResultOperatorRewriterResult + { + public ResultOperatorRewriterResult(IEnumerable<ResultOperatorBase> rewrittenOperators, IStreamedDataInfo evaluationType) + { + this.RewrittenOperators = rewrittenOperators; + this.EvaluationType = evaluationType; + } + + /// <summary> + /// Gets an <see cref="IEnumerable{T}" /> of <see cref="ResultOperatorBase" /> implementations that were + /// rewritten. + /// </summary> + public IEnumerable<ResultOperatorBase> RewrittenOperators { get; private set; } + + /// <summary> + /// Gets the <see cref="IStreamedDataInfo" /> representing the type of data that the operator works upon. + /// </summary> + public IStreamedDataInfo EvaluationType { get; private set; } + } +} Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/QueryModelVisitor.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/Visitors/QueryModelVisitor.cs 2010-12-18 15:40:50 UTC (rev 5324) +++ trunk/nhibernate/src/NHibernate/Linq/Visitors/QueryModelVisitor.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -45,10 +45,18 @@ // Add left joins for references AddLeftJoinsReWriter.ReWrite(queryModel, parameters.SessionFactory); - var visitor = new QueryModelVisitor(parameters, root, queryModel); - visitor.Visit(); + // rewrite any operators that should be applied on the outer query + // by flattening out the sub-queries that they are located in + ResultOperatorRewriterResult result = ResultOperatorRewriter.Rewrite(queryModel); - return visitor._hqlTree.GetTranslation(); + QueryModelVisitor visitor = new QueryModelVisitor(parameters, root, queryModel) + { + RewrittenOperatorResult = result + }; + + visitor.Visit(); + + return visitor._hqlTree.GetTranslation(); } private readonly IntermediateHqlTree _hqlTree; @@ -59,6 +67,7 @@ public IStreamedDataInfo CurrentEvaluationType { get; private set; } public IStreamedDataInfo PreviousEvaluationType { get; private set; } public QueryModel Model { get; private set; } + public ResultOperatorRewriterResult RewrittenOperatorResult { get; private set; } static QueryModelVisitor() { @@ -102,6 +111,16 @@ HqlGeneratorExpressionTreeVisitor.Visit(fromClause.FromExpression, VisitorParameters), _hqlTree.TreeBuilder.Alias(fromClause.ItemName))); + // apply any result operators that were rewritten + if (RewrittenOperatorResult != null) + { + CurrentEvaluationType = RewrittenOperatorResult.EvaluationType; + foreach (ResultOperatorBase rewrittenOperator in RewrittenOperatorResult.RewrittenOperators) + { + this.VisitResultOperator(rewrittenOperator, queryModel, -1); + } + } + base.VisitMainFromClause(fromClause, queryModel); } Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/ResultOperatorProcessors/ProcessOfType.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/Visitors/ResultOperatorProcessors/ProcessOfType.cs 2010-12-18 15:40:50 UTC (rev 5324) +++ trunk/nhibernate/src/NHibernate/Linq/Visitors/ResultOperatorProcessors/ProcessOfType.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -1,7 +1,6 @@ using System.Linq.Expressions; using NHibernate.Hql.Ast; using Remotion.Data.Linq.Clauses.ResultOperators; -using Remotion.Data.Linq.Clauses.StreamedData; namespace NHibernate.Linq.Visitors.ResultOperatorProcessors { @@ -11,8 +10,7 @@ public void Process(OfTypeResultOperator resultOperator, QueryModelVisitor queryModelVisitor, IntermediateHqlTree tree) { - Expression source = - queryModelVisitor.CurrentEvaluationType.As<StreamedSequenceInfo>().ItemExpression; + Expression source = queryModelVisitor.Model.SelectClause.GetOutputDataInfo().ItemExpression; tree.AddWhereClause(tree.TreeBuilder.Equality( tree.TreeBuilder.Dot( Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-18 15:40:50 UTC (rev 5324) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-18 15:59:02 UTC (rev 5325) @@ -257,6 +257,8 @@ <Compile Include="ITransaction.cs" /> <Compile Include="LazyInitializationException.cs" /> <Compile Include="Linq\Functions\DictionaryGenerator.cs" /> + <Compile Include="Linq\ReWriters\ResultOperatorRewriter.cs" /> + <Compile Include="Linq\ReWriters\ResultOperatorRewriterResult.cs" /> <Compile Include="Loader\Loader.cs" /> <Compile Include="Loader\OuterJoinLoader.cs" /> <Compile Include="LockMode.cs" /> Modified: trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-12-18 15:40:50 UTC (rev 5324) +++ trunk/nhibernate/src/NHibernate.Test/Linq/EagerLoadTests.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -56,12 +56,32 @@ Assert.IsTrue(NHibernateUtil.IsInitialized(x[0].Orders.First().OrderLines)); } - [Test] - public void WhenFetchSuperclassCollectionThenNotThrows() - { - // NH-2277 - session.Executing(s => s.Query<Lizard>().Fetch(x => x.Children).ToList()).NotThrows(); - session.Close(); - } + [Test] + public void WhenFetchSuperclassCollectionThenNotThrows() + { + // NH-2277 + session.Executing(s => s.Query<Lizard>().Fetch(x => x.Children).ToList()).NotThrows(); + session.Close(); + } + + [Test] + public void FetchWithWhere() + { + // NH-2381 + (from p + in session.Query<Product>().Fetch(a => a.Supplier) + where p.ProductId == 1 + select p).ToList(); + } + + [Test] + public void FetchManyWithWhere() + { + // NH-2381 + (from s + in session.Query<Supplier>().FetchMany(a => a.Products) + where s.SupplierId == 1 + select s).ToList(); + } } } Modified: trunk/nhibernate/src/NHibernate.Test/Linq/WhereTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/WhereTests.cs 2010-12-18 15:40:50 UTC (rev 5324) +++ trunk/nhibernate/src/NHibernate.Test/Linq/WhereTests.cs 2010-12-18 15:59:02 UTC (rev 5325) @@ -491,5 +491,25 @@ Assert.AreEqual(3, query.Count); } + [Test] + public void OfTypeWithWhereAndProjection() + { + // NH-2375 + (from a + in session.Query<Animal>().OfType<Cat>() + where a.Pregnant + select a.Id).FirstOrDefault(); + } + + [Test] + public void OfTypeWithWhere() + { + // NH-2375 + (from a + in session.Query<Animal>().OfType<Cat>() + where a.Pregnant + select a).FirstOrDefault(); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 15:40:56
|
Revision: 5324 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5324&view=rev Author: fabiomaulo Date: 2010-12-18 15:40:50 +0000 (Sat, 18 Dec 2010) Log Message: ----------- NH-2179 work as required Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Linq/ProjectionsTests.cs Modified: trunk/nhibernate/src/NHibernate.Test/Linq/ProjectionsTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/ProjectionsTests.cs 2010-12-18 15:35:27 UTC (rev 5323) +++ trunk/nhibernate/src/NHibernate.Test/Linq/ProjectionsTests.cs 2010-12-18 15:40:50 UTC (rev 5324) @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using NUnit.Framework; +using SharpTestsEx; namespace NHibernate.Test.Linq { @@ -193,6 +194,21 @@ Assert.IsTrue(query[2].Title.StartsWith("User nhibernate logged in at")); } + [Test] + public void CanUseConstantStringInProjection() + { + var query = from user in db.Users + select new + { + user.Name, + Category = "something" + }; + + var firstUser = query.First(); + Assert.IsNotNull(firstUser); + firstUser.Category.Should().Be("something"); + } + private string FormatName(string name, DateTime? lastLoginDate) { return string.Format("User {0} logged in at {1}", name, lastLoginDate); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-18 15:35:33
|
Revision: 5323 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5323&view=rev Author: fabiomaulo Date: 2010-12-18 15:35:27 +0000 (Sat, 18 Dec 2010) Log Message: ----------- Tests only to check NH-2440 obsolete Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/Linq/BinaryExpressionOrdererTests.cs Modified: trunk/nhibernate/src/NHibernate.Test/Linq/BinaryExpressionOrdererTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/BinaryExpressionOrdererTests.cs 2010-12-17 04:09:00 UTC (rev 5322) +++ trunk/nhibernate/src/NHibernate.Test/Linq/BinaryExpressionOrdererTests.cs 2010-12-18 15:35:27 UTC (rev 5323) @@ -86,5 +86,25 @@ select user).ToList(); Assert.AreEqual(2, query.Count); } + + [Test] + public void ValuePropertySwapsToPropertyValueUsingEqualsFromConstant() + { + // check NH-2440 + var query = (from user in db.Users + where ("ayende".Equals(user.Name)) + select user).ToList(); + Assert.AreEqual(1, query.Count); + } + + [Test] + public void ValuePropertySwapsToPropertyValueUsingEqualsToConstant() + { + // check NH-2440 + var query = (from user in db.Users + where (user.Name.Equals("ayende")) + select user).ToList(); + Assert.AreEqual(1, query.Count); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-17 04:09:06
|
Revision: 5322 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5322&view=rev Author: fabiomaulo Date: 2010-12-17 04:09:00 +0000 (Fri, 17 Dec 2010) Log Message: ----------- Fix NH-2460 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Type/DateTime2Type.cs trunk/nhibernate/src/NHibernate/Type/DateTimeType.cs trunk/nhibernate/src/NHibernate.Test/TypesTest/Decima2lTypeFixture.cs Modified: trunk/nhibernate/src/NHibernate/Type/DateTime2Type.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Type/DateTime2Type.cs 2010-12-17 03:06:33 UTC (rev 5321) +++ trunk/nhibernate/src/NHibernate/Type/DateTime2Type.cs 2010-12-17 04:09:00 UTC (rev 5322) @@ -51,5 +51,15 @@ return x.Equals(y); } + + public override object Next(object current, Engine.ISessionImplementor session) + { + return Seed(session); + } + + public override object Seed(Engine.ISessionImplementor session) + { + return DateTime.Now; + } } } \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate/Type/DateTimeType.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Type/DateTimeType.cs 2010-12-17 03:06:33 UTC (rev 5321) +++ trunk/nhibernate/src/NHibernate/Type/DateTimeType.cs 2010-12-17 04:09:00 UTC (rev 5322) @@ -68,12 +68,12 @@ #region IVersionType Members - public object Next(object current, ISessionImplementor session) + public virtual object Next(object current, ISessionImplementor session) { return Seed(session); } - public object Seed(ISessionImplementor session) + public virtual object Seed(ISessionImplementor session) { return TimestampType.Round(DateTime.Now, TimeSpan.TicksPerSecond); } Modified: trunk/nhibernate/src/NHibernate.Test/TypesTest/Decima2lTypeFixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/TypesTest/Decima2lTypeFixture.cs 2010-12-17 03:06:33 UTC (rev 5321) +++ trunk/nhibernate/src/NHibernate.Test/TypesTest/Decima2lTypeFixture.cs 2010-12-17 04:09:00 UTC (rev 5322) @@ -1,6 +1,7 @@ using System; using NHibernate.Type; using NUnit.Framework; +using SharpTestsEx; namespace NHibernate.Test.TypesTest { @@ -14,12 +15,10 @@ public void Next() { DateTimeType type = (DateTimeType)NHibernateUtil.DateTime2; - object current = DateTime.Parse("2004-01-01"); + object current = DateTime.Now.AddMilliseconds(-1); object next = type.Next(current, null); - Assert.IsTrue(next is DateTime, "Next should be DateTime"); - Assert.IsTrue((DateTime)next > (DateTime)current, - "next should be greater than current (could be equal depending on how quickly this occurs)"); + next.Should().Be.OfType<DateTime>().And.Value.Should().Be.GreaterThan((DateTime)current); } [Test] @@ -43,5 +42,15 @@ value2 = ((DateTime)value2).AddHours(2); Assert.IsFalse(value1 == value2, "value2 was changed, value1 should not have changed also."); } + + [Test] + public void EqualityShouldIgnoreKindAndNotIgnoreMillisecond() + { + var type = (DateTimeType)NHibernateUtil.DateTime; + var localTime = DateTime.Now; + var unspecifiedKid = new DateTime(localTime.Ticks, DateTimeKind.Unspecified); + type.Satisfy(t => t.IsEqual(localTime, unspecifiedKid)); + type.Satisfy(t => t.IsEqual(localTime, unspecifiedKid, EntityMode.Poco)); + } } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-17 03:06:39
|
Revision: 5321 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5321&view=rev Author: fabiomaulo Date: 2010-12-17 03:06:33 +0000 (Fri, 17 Dec 2010) Log Message: ----------- Fix NH-2464 Modified Paths: -------------- trunk/nhibernate/build-common/common-project.xml Modified: trunk/nhibernate/build-common/common-project.xml =================================================================== --- trunk/nhibernate/build-common/common-project.xml 2010-12-16 22:58:03 UTC (rev 5320) +++ trunk/nhibernate/build-common/common-project.xml 2010-12-17 03:06:33 UTC (rev 5321) @@ -108,6 +108,7 @@ output="${bin.dir}/${project::get-name()}.dll" doc="${bin.dir}/${project::get-name()}.xml" if="${sign}" + optimize="${build.release}" > <nowarn> <warning number="1591" /> <!-- No XML comment for publicly visible member --> @@ -124,6 +125,7 @@ output="${bin.dir}/${project::get-name()}.dll" doc="${bin.dir}/${project::get-name()}.xml" unless="${sign}" + optimize="${build.release}" > <nowarn> <warning number="1591" /> <!-- No XML comment for publicly visible member --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-16 22:58:09
|
Revision: 5320 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5320&view=rev Author: fabiomaulo Date: 2010-12-16 22:58:03 +0000 (Thu, 16 Dec 2010) Log Message: ----------- Mercurial ignore Added Paths: ----------- trunk/.hgignore Added: trunk/.hgignore =================================================================== --- trunk/.hgignore (rev 0) +++ trunk/.hgignore 2010-12-16 22:58:03 UTC (rev 5320) @@ -0,0 +1,37 @@ +# Ignore file for Visual Studio 2008/2010 + +# use glob syntax +syntax: glob + +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +*.lib +*.sbr +*.scc +[Bb]in +[Db]ebug*/ +obj/ +[Rr]elease*/ +*resharper* +_ReSharper*/ +[Tt]est[Rr]esult* +[Bb]uild[Ll]og.* +*.[Pp]ublish.xml +glob:NHibernate.dll +glob:nhibernate\build\ +glob:AssemblyInfo.cs This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-15 22:21:10
|
Revision: 5319 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5319&view=rev Author: fabiomaulo Date: 2010-12-15 22:21:00 +0000 (Wed, 15 Dec 2010) Log Message: ----------- - added FirstOrNull enumerable extension - refactoring Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstOrNullExtensionTests.cs Modified: trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-12-15 22:09:18 UTC (rev 5318) +++ trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-12-15 22:21:00 UTC (rev 5319) @@ -682,7 +682,8 @@ return this; } - SetParameterList(name, vals, !vals.Any() ? GuessType(vals.GetCollectionElementType()) : DetermineType(name, vals.First())); + object firstValue = vals.FirstOrNull(); + SetParameterList(name, vals, firstValue == null ? GuessType(vals.GetCollectionElementType()) : DetermineType(name, firstValue)); return this; } Modified: trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs 2010-12-15 22:09:18 UTC (rev 5318) +++ trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs 2010-12-15 22:21:00 UTC (rev 5319) @@ -48,6 +48,33 @@ throw new InvalidOperationException("Sequence contains no elements"); } + public static object FirstOrNull(this IEnumerable source) + { + if (source == null) + { + throw new ArgumentNullException("source"); + } + IList collection = source as IList; + if (collection != null) + { + if (collection.Count > 0) + { + return collection[0]; + } + } + else + { + using (DisposableEnumerator enumerator = source.GetDisposableEnumerator()) + { + if (enumerator.MoveNext()) + { + return enumerator.Current; + } + } + } + return null; + } + private static DisposableEnumerator GetDisposableEnumerator(this IEnumerable source) { return new DisposableEnumerator(source); Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 22:09:18 UTC (rev 5318) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 22:21:00 UTC (rev 5319) @@ -582,6 +582,7 @@ <Compile Include="TypesTest\XmlDocTypeFixture.cs" /> <Compile Include="UtilityTest\EnumerableExtensionsTests\AnyExtensionTests.cs" /> <Compile Include="UtilityTest\EnumerableExtensionsTests\FirstExtensionTests.cs" /> + <Compile Include="UtilityTest\EnumerableExtensionsTests\FirstOrNullExtensionTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperIsMethodOfTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperTest.cs" /> <Compile Include="Linq\RegresstionTests.cs" /> Added: trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstOrNullExtensionTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstOrNullExtensionTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstOrNullExtensionTests.cs 2010-12-15 22:21:00 UTC (rev 5319) @@ -0,0 +1,29 @@ +using System; +using System.Collections; +using NHibernate.Util; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.UtilityTest.EnumerableExtensionsTests +{ + public class FirstOrNullExtensionTests + { + [Test] + public void WhenNullThenThenThrows() + { + Executing.This(() => ((IEnumerable)null).FirstOrNull()).Should().Throw<ArgumentNullException>(); + } + + [Test] + public void WhenHasElementsThenReturnFirst() + { + (new[] { 2, 1 }).FirstOrNull().Should().Be(2); + } + + [Test] + public void WhenEmptyThenReturnNull() + { + (new object[0]).FirstOrNull().Should().Be.Null(); + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-15 22:09:25
|
Revision: 5318 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5318&view=rev Author: fabiomaulo Date: 2010-12-15 22:09:18 +0000 (Wed, 15 Dec 2010) Log Message: ----------- Fix NH-2461 Modified Paths: -------------- trunk/nhibernate/releasenotes.txt trunk/nhibernate/src/NHibernate/Criterion/Restrictions.cs trunk/nhibernate/src/NHibernate/IQuery.cs trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs Modified: trunk/nhibernate/releasenotes.txt =================================================================== --- trunk/nhibernate/releasenotes.txt 2010-12-15 21:57:25 UTC (rev 5317) +++ trunk/nhibernate/releasenotes.txt 2010-12-15 22:09:18 UTC (rev 5318) @@ -1,3 +1,7 @@ +** Known BREAKING CHANGES from NH3.0.0.GA to NH3.0.1.GA + ##### Possible Breaking Changes ##### + * [NH-2461] - Signature change for IQuery.SetParameterList + ** Known BREAKING CHANGES from NH2.1.1.GA to NH3.0.0.GA ##### Design time ##### Modified: trunk/nhibernate/src/NHibernate/Criterion/Restrictions.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Criterion/Restrictions.cs 2010-12-15 21:57:25 UTC (rev 5317) +++ trunk/nhibernate/src/NHibernate/Criterion/Restrictions.cs 2010-12-15 22:09:18 UTC (rev 5318) @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using System.Linq.Expressions; using NHibernate.Criterion.Lambda; using NHibernate.Impl; @@ -299,14 +300,14 @@ /// of <see cref="In(string, ICollection)" />, renamed to avoid ambiguity. /// </summary> /// <param name="propertyName">The name of the Property in the class.</param> - /// <param name="values">An <see cref="System.Collections.Generic.ICollection{T}" /> + /// <param name="values">An <see cref="System.Collections.Generic.IEnumerable{T}" /> /// of values.</param> /// <returns>An <see cref="InExpression" />.</returns> - public static AbstractCriterion InG<T>(string propertyName, ICollection<T> values) + public static AbstractCriterion InG<T>(string propertyName, IEnumerable<T> values) { - object[] array = new object[values.Count]; - int i = 0; - foreach (T item in values) + var array = new object[values.Count()]; + var i = 0; + foreach (var item in values) { array[i] = item; i++; @@ -320,14 +321,14 @@ /// </summary> /// <typeparam name="T"></typeparam> /// <param name="projection">The projection.</param> - /// <param name="values">An <see cref="System.Collections.Generic.ICollection{T}"/> + /// <param name="values">An <see cref="System.Collections.Generic.IEnumerable{T}"/> /// of values.</param> /// <returns>An <see cref="InExpression"/>.</returns> - public static AbstractCriterion InG<T>(IProjection projection, ICollection<T> values) + public static AbstractCriterion InG<T>(IProjection projection, IEnumerable<T> values) { - object[] array = new object[values.Count]; - int i = 0; - foreach (T item in values) + var array = new object[values.Count()]; + var i = 0; + foreach (var item in values) { array[i] = item; i++; Modified: trunk/nhibernate/src/NHibernate/IQuery.cs =================================================================== --- trunk/nhibernate/src/NHibernate/IQuery.cs 2010-12-15 21:57:25 UTC (rev 5317) +++ trunk/nhibernate/src/NHibernate/IQuery.cs 2010-12-15 22:09:18 UTC (rev 5318) @@ -255,7 +255,7 @@ /// <param name="name">The name of the parameter</param> /// <param name="vals">A collection of values to list</param> /// <param name="type">The NHibernate type of the values</param> - IQuery SetParameterList(string name, ICollection vals, IType type); + IQuery SetParameterList(string name, IEnumerable vals, IType type); /// <summary> /// Bind multiple values to a named query parameter, guessing the NHibernate @@ -264,28 +264,9 @@ /// </summary> /// <param name="name">The name of the parameter</param> /// <param name="vals">A collection of values to list</param> - IQuery SetParameterList(string name, ICollection vals); + IQuery SetParameterList(string name, IEnumerable vals); /// <summary> - /// Bind multiple values to a named query parameter. This is useful for binding - /// a list of values to an expression such as <tt>foo.bar in (:value_list)</tt>. - /// </summary> - /// <param name="name">the name of the parameter </param> - /// <param name="vals">a collection of values to list </param> - /// <param name="type">the NHibernate type of the values </param> - IQuery SetParameterList(string name, object[] vals, IType type); - - /// <summary> - /// Bind multiple values to a named query parameter. The NHibernate type of the parameter is - /// first detected via the usage/position in the query and if not sufficient secondly - /// guessed from the class of the first object in the array. This is useful for binding a list of values - /// to an expression such as <tt>foo.bar in (:value_list)</tt>. - /// </summary> - /// <param name="name">the name of the parameter </param> - /// <param name="vals">a collection of values to list </param> - IQuery SetParameterList(string name, object[] vals); - - /// <summary> /// Bind the property values of the given object to named parameters of the query, /// matching property names with parameter names and mapping property types to /// NHibernate types using heuristics. Modified: trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-12-15 21:57:25 UTC (rev 5317) +++ trunk/nhibernate/src/NHibernate/Impl/AbstractQueryImpl.cs 2010-12-15 22:09:18 UTC (rev 5318) @@ -648,7 +648,7 @@ return this; } - public IQuery SetParameterList(string name, ICollection vals, IType type) + public IQuery SetParameterList(string name, IEnumerable vals, IType type) { if (!parameterMetadata.NamedParameterNames.Contains(name)) { @@ -661,7 +661,7 @@ { throw new ArgumentNullException("type","Can't determine the type of parameter-list elements."); } - if(vals.Count == 0) + if(!vals.Any()) { throw new QueryException(string.Format("An empty parameter-list generate wrong SQL; parameter name '{0}'", name)); } @@ -669,7 +669,7 @@ return this; } - public IQuery SetParameterList(string name, ICollection vals) + public IQuery SetParameterList(string name, IEnumerable vals) { if (vals == null) { @@ -682,30 +682,11 @@ return this; } - if (vals.Count == 0) - { - SetParameterList(name, vals, GuessType(vals.GetCollectionElementType())); - } - else - { - IEnumerator iter = vals.GetEnumerator(); - iter.MoveNext(); - SetParameterList(name, vals, DetermineType(name, iter.Current)); - } + SetParameterList(name, vals, !vals.Any() ? GuessType(vals.GetCollectionElementType()) : DetermineType(name, vals.First())); return this; } - public IQuery SetParameterList(string name, object[] vals, IType type) - { - return SetParameterList(name, vals as ICollection, type); - } - - public IQuery SetParameterList(string name, object[] vals) - { - return SetParameterList(name, vals as ICollection); - } - #endregion #region Query properties This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-15 21:57:32
|
Revision: 5317 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5317&view=rev Author: fabiomaulo Date: 2010-12-15 21:57:25 +0000 (Wed, 15 Dec 2010) Log Message: ----------- First as enumerable extensions Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstExtensionTests.cs Modified: trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs 2010-12-15 21:36:23 UTC (rev 5316) +++ trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs 2010-12-15 21:57:25 UTC (rev 5317) @@ -21,6 +21,33 @@ return false; } + public static object First(this IEnumerable source) + { + if (source == null) + { + throw new ArgumentNullException("source"); + } + IList collection = source as IList; + if (collection != null) + { + if (collection.Count > 0) + { + return collection[0]; + } + } + else + { + using (DisposableEnumerator enumerator = source.GetDisposableEnumerator()) + { + if (enumerator.MoveNext()) + { + return enumerator.Current; + } + } + } + throw new InvalidOperationException("Sequence contains no elements"); + } + private static DisposableEnumerator GetDisposableEnumerator(this IEnumerable source) { return new DisposableEnumerator(source); Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 21:36:23 UTC (rev 5316) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 21:57:25 UTC (rev 5317) @@ -581,6 +581,7 @@ <Compile Include="TypesTest\XmlDocClass.cs" /> <Compile Include="TypesTest\XmlDocTypeFixture.cs" /> <Compile Include="UtilityTest\EnumerableExtensionsTests\AnyExtensionTests.cs" /> + <Compile Include="UtilityTest\EnumerableExtensionsTests\FirstExtensionTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperIsMethodOfTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperTest.cs" /> <Compile Include="Linq\RegresstionTests.cs" /> Added: trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstExtensionTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstExtensionTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/FirstExtensionTests.cs 2010-12-15 21:57:25 UTC (rev 5317) @@ -0,0 +1,29 @@ +using System; +using System.Collections; +using NHibernate.Util; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.UtilityTest.EnumerableExtensionsTests +{ + public class FirstExtensionTests + { + [Test] + public void WhenNullThenThenThrows() + { + Executing.This(() => ((IEnumerable)null).First()).Should().Throw<ArgumentNullException>(); + } + + [Test] + public void WhenHasElementsThenReturnFirst() + { + (new[] { 2, 1 }).First().Should().Be(2); + } + + [Test] + public void WhenEmptyThenThrowsInvalidOperation() + { + Executing.This(() => (new object[0]).First()).Should().Throw<InvalidOperationException>(); + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-15 21:36:31
|
Revision: 5316 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5316&view=rev Author: fabiomaulo Date: 2010-12-15 21:36:23 +0000 (Wed, 15 Dec 2010) Log Message: ----------- EnumerableExtensions (perhaps the place to replace some old stuff) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/NHibernate.csproj trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/ trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/AnyExtensionTests.cs Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-15 18:29:52 UTC (rev 5315) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-15 21:36:23 UTC (rev 5316) @@ -440,6 +440,7 @@ <Compile Include="Util\ADOExceptionReporter.cs" /> <Compile Include="Util\ArrayHelper.cs" /> <Compile Include="Util\CollectionPrinter.cs" /> + <Compile Include="Util\EnumerableExtensions.cs" /> <Compile Include="Util\IdentityMap.cs" /> <Compile Include="Util\JoinedEnumerable.cs" /> <Compile Include="Util\ObjectUtils.cs" /> Added: trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs (rev 0) +++ trunk/nhibernate/src/NHibernate/Util/EnumerableExtensions.cs 2010-12-15 21:36:23 UTC (rev 5316) @@ -0,0 +1,75 @@ +using System; +using System.Collections; + +namespace NHibernate.Util +{ + public static class EnumerableExtensions + { + public static bool Any(this IEnumerable source) + { + if (source == null) + { + throw new ArgumentNullException("source"); + } + using (DisposableEnumerator enumerator = source.GetDisposableEnumerator()) + { + if (enumerator.MoveNext()) + { + return true; + } + } + return false; + } + + private static DisposableEnumerator GetDisposableEnumerator(this IEnumerable source) + { + return new DisposableEnumerator(source); + } + + #region Nested type: DisposableEnumerator + + internal class DisposableEnumerator : IDisposable, IEnumerator + { + private readonly IEnumerator wrapped; + + public DisposableEnumerator(IEnumerable source) + { + wrapped = source.GetEnumerator(); + } + + #region IDisposable Members + + public void Dispose() + { + var disposable = wrapped as IDisposable; + if (disposable != null) + { + disposable.Dispose(); + } + } + + #endregion + + #region IEnumerator Members + + public bool MoveNext() + { + return wrapped.MoveNext(); + } + + public void Reset() + { + wrapped.Reset(); + } + + public object Current + { + get { return wrapped.Current; } + } + + #endregion + } + + #endregion + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 18:29:52 UTC (rev 5315) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 21:36:23 UTC (rev 5316) @@ -580,6 +580,7 @@ <Compile Include="TypesTest\XDocTypeFixture.cs" /> <Compile Include="TypesTest\XmlDocClass.cs" /> <Compile Include="TypesTest\XmlDocTypeFixture.cs" /> + <Compile Include="UtilityTest\EnumerableExtensionsTests\AnyExtensionTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperIsMethodOfTests.cs" /> <Compile Include="UtilityTest\ReflectionHelperTest.cs" /> <Compile Include="Linq\RegresstionTests.cs" /> Added: trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/AnyExtensionTests.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/AnyExtensionTests.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/UtilityTest/EnumerableExtensionsTests/AnyExtensionTests.cs 2010-12-15 21:36:23 UTC (rev 5316) @@ -0,0 +1,75 @@ +using System; +using System.Collections; +using NUnit.Framework; +using NHibernate.Util; +using SharpTestsEx; + +namespace NHibernate.Test.UtilityTest.EnumerableExtensionsTests +{ + public class AnyExtensionTests + { + [Test] + public void WhenEmptyListThenReturnFalse() + { + (new object[0]).Any().Should().Be.False(); + } + + [Test] + public void WhenNoEmptyListThenReturnTrue() + { + (new object[1]).Any().Should().Be.True(); + } + + private class MyDisposableList: IEnumerable + { + private readonly System.Action enumeratorDisposeCallback; + + public MyDisposableList(System.Action enumeratorDisposeCallback) + { + this.enumeratorDisposeCallback = enumeratorDisposeCallback; + } + + public IEnumerator GetEnumerator() + { + return new EmptyEnumerator(enumeratorDisposeCallback); + } + } + + private class EmptyEnumerator : IEnumerator, IDisposable + { + private readonly System.Action disposeCallback; + + public EmptyEnumerator(System.Action disposeCallback) + { + this.disposeCallback = disposeCallback; + } + + public void Reset() + { + } + + public object Current + { + get { throw new InvalidOperationException("EmptyEnumerator"); } + } + + public bool MoveNext() + { + return false; + } + + public void Dispose() + { + disposeCallback(); + } + } + + [Test] + public void WhenDisposableListThenCallDispose() + { + var disposeCalled = false; + (new MyDisposableList(()=> disposeCalled = true)).Any(); + disposeCalled.Should().Be.True(); + } + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-15 18:30:00
|
Revision: 5315 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5315&view=rev Author: fabiomaulo Date: 2010-12-15 18:29:52 +0000 (Wed, 15 Dec 2010) Log Message: ----------- Conversion of projects to VS2010 Modified Paths: -------------- trunk/nhibernate/src/Iesi.Collections/Iesi.Collections.csproj trunk/nhibernate/src/Iesi.Collections.Test/Iesi.Collections.Test.csproj trunk/nhibernate/src/Iesi.Collections.sln trunk/nhibernate/src/NHibernate/NHibernate.csproj trunk/nhibernate/src/NHibernate.ByteCode.Castle/NHibernate.ByteCode.Castle.csproj trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj trunk/nhibernate/src/NHibernate.ByteCode.LinFu/NHibernate.ByteCode.LinFu.csproj trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/App.config trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/NHibernate.ByteCode.LinFu.Tests.csproj trunk/nhibernate/src/NHibernate.ByteCode.Spring/NHibernate.ByteCode.Spring.csproj trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/App.config trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/NHibernate.ByteCode.Spring.Tests.csproj trunk/nhibernate/src/NHibernate.DomainModel/NHibernate.DomainModel.csproj trunk/nhibernate/src/NHibernate.Everything.sln trunk/nhibernate/src/NHibernate.Example.Web/Web.Config trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj trunk/nhibernate/src/NHibernate.TestDatabaseSetup/NHibernate.TestDatabaseSetup.csproj trunk/nhibernate/src/NHibernate.Tool.HbmXsd/NHibernate.Tool.HbmXsd.csproj trunk/nhibernate/src/NHibernate.sln Modified: trunk/nhibernate/src/Iesi.Collections/Iesi.Collections.csproj =================================================================== --- trunk/nhibernate/src/Iesi.Collections/Iesi.Collections.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/Iesi.Collections/Iesi.Collections.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,4 +1,5 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -11,9 +12,25 @@ <AssemblyName>Iesi.Collections</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>2.0</OldToolsVersion> + <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -25,6 +42,7 @@ <DefineConstants>TRACE;DEBUG;NET_2_0</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -35,6 +53,7 @@ <DefineConstants>TRACE;NET_2_0</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="System" /> @@ -68,5 +87,22 @@ <ItemGroup> <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> </Project> \ No newline at end of file Modified: trunk/nhibernate/src/Iesi.Collections.Test/Iesi.Collections.Test.csproj =================================================================== --- trunk/nhibernate/src/Iesi.Collections.Test/Iesi.Collections.Test.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/Iesi.Collections.Test/Iesi.Collections.Test.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,4 +1,5 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -11,10 +12,25 @@ <AssemblyName>Iesi.Collections.Test</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>2.0</OldToolsVersion> + <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -26,6 +42,7 @@ <DefineConstants>TRACE;DEBUG;NET_2_0</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -36,6 +53,7 @@ <DefineConstants>TRACE;NET_2_0</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="nunit.framework, Version=2.5.0.9122, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> @@ -75,6 +93,23 @@ <ItemGroup> <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/Iesi.Collections.sln =================================================================== --- trunk/nhibernate/src/Iesi.Collections.sln 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/Iesi.Collections.sln 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Iesi.Collections", "Iesi.Collections\Iesi.Collections.csproj", "{4C251E3E-6EA1-4A51-BBCB-F9C42AE55344}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Iesi.Collections.Test", "Iesi.Collections.Test\Iesi.Collections.Test.csproj", "{58CE4584-31B9-4E74-A7FB-5D40BFAD0876}" Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj =================================================================== --- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,12 +12,25 @@ <AssemblyName>NHibernate</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>2.0</OldToolsVersion> + <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -32,6 +45,7 @@ <DocumentationFile>bin\Debug-2.0\NHibernate.XML</DocumentationFile> <NoWarn>1591%3b3001%3b3002%3b3003%3b3004%3b3005</NoWarn> <WarningsAsErrors>1717;1574</WarningsAsErrors> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -43,6 +57,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="System" /> @@ -1565,6 +1580,23 @@ <ItemGroup> <Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.Castle/NHibernate.ByteCode.Castle.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle/NHibernate.ByteCode.Castle.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle/NHibernate.ByteCode.Castle.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.Castle</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="Castle.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> @@ -67,6 +86,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.Castle.Tests</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="Castle.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL"> @@ -92,6 +111,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.LinFu/NHibernate.ByteCode.LinFu.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.LinFu/NHibernate.ByteCode.LinFu.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.LinFu/NHibernate.ByteCode.LinFu.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.LinFu</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="System" /> @@ -63,6 +82,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/App.config =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/App.config 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/App.config 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,10 +1,9 @@ -<?xml version="1.0"?> +<?xml version="1.0"?> <configuration> <configSections> <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> - <!-- hibernate-configuration section @@ -33,41 +32,32 @@ <property name="command_timeout">10</property> <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property> <property name="adonet.wrap_result_sets">false</property> - <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property> - </session-factory> </hibernate-configuration> - <!-- This section contains the log4net configuration settings --> <log4net debug="false"> - <!-- Define some output appenders --> <appender name="trace" type="log4net.Appender.TraceAppender, log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"/> </layout> </appender> - <appender name="console" type="log4net.Appender.ConsoleAppender, log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"/> </layout> </appender> - <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net"> - <param name="File" value="log.txt"/> <param name="AppendToFile" value="false"/> <param name="RollingStyle" value="Date"/> <param name="DatePattern" value="yyyy.MM.dd"/> <param name="StaticLogFileName" value="true"/> - <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> - <root> <priority value="WARN"/> <appender-ref ref="console"/> @@ -75,11 +65,8 @@ <logger name="NHibernate.Proxy.Poco"> <priority value="DEBUG"/> </logger> - <logger name="NHibernate.ProxyGenerators.LinFuDynamicProxy"> <priority value="DEBUG"/> </logger> </log4net> - - -<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> + <startup/></configuration> Modified: trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/NHibernate.ByteCode.LinFu.Tests.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/NHibernate.ByteCode.LinFu.Tests.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.LinFu.Tests/NHibernate.ByteCode.LinFu.Tests.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.LinFu.Tests</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL"> @@ -87,6 +106,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.Spring/NHibernate.ByteCode.Spring.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Spring/NHibernate.ByteCode.Spring.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.Spring/NHibernate.ByteCode.Spring.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.Spring</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL"> @@ -78,6 +97,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/App.config =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/App.config 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/App.config 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,10 +1,9 @@ -<?xml version="1.0"?> +<?xml version="1.0"?> <configuration> <configSections> <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> - <!-- hibernate-configuration section @@ -33,41 +32,32 @@ <property name="command_timeout">10</property> <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property> <property name="adonet.wrap_result_sets">false</property> - <property name="proxyfactory.factory_class">NHibernate.ByteCode.Spring.ProxyFactoryFactory, NHibernate.ByteCode.Spring</property> - </session-factory> </hibernate-configuration> - <!-- This section contains the log4net configuration settings --> <log4net debug="false"> - <!-- Define some output appenders --> <appender name="trace" type="log4net.Appender.TraceAppender, log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"/> </layout> </appender> - <appender name="console" type="log4net.Appender.ConsoleAppender, log4net"> <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c{1}:%L - %m%n"/> </layout> </appender> - <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net"> - <param name="File" value="log.txt"/> <param name="AppendToFile" value="false"/> <param name="RollingStyle" value="Date"/> <param name="DatePattern" value="yyyy.MM.dd"/> <param name="StaticLogFileName" value="true"/> - <layout type="log4net.Layout.PatternLayout,log4net"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> - <root> <priority value="WARN"/> <appender-ref ref="console"/> @@ -75,11 +65,8 @@ <logger name="NHibernate.Proxy.Poco"> <priority value="DEBUG"/> </logger> - <logger name="NHibernate.ByteCode.Spring"> <priority value="DEBUG"/> </logger> </log4net> - - -<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> + <startup/></configuration> Modified: trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/NHibernate.ByteCode.Spring.Tests.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/NHibernate.ByteCode.Spring.Tests.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.ByteCode.Spring.Tests/NHibernate.ByteCode.Spring.Tests.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,8 +12,25 @@ <AssemblyName>NHibernate.ByteCode.Spring.Tests</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,7 +40,8 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -32,7 +50,8 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> - <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="antlr.runtime, Version=2.7.6.2, Culture=neutral, PublicKeyToken=65e474d141e25e07, processorArchitecture=MSIL"> @@ -99,6 +118,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.DomainModel/NHibernate.DomainModel.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.DomainModel/NHibernate.DomainModel.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.DomainModel/NHibernate.DomainModel.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,10 +12,25 @@ <AssemblyName>NHibernate.DomainModel</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>2.0</OldToolsVersion> + <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -27,6 +42,7 @@ <DefineConstants>TRACE;DEBUG;NET,NET_2_0</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -37,6 +53,7 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="System" /> @@ -278,11 +295,25 @@ <Service Include="..\..\..\..\trunk\nhibernate\src\NHibernate.DomainModel\{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" /> </ItemGroup> <ItemGroup> - <Folder Include="Northwind" /> - <Folder Include="Northwind\Entities" /> - <Folder Include="Northwind\Mappings" /> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.Everything.sln =================================================================== --- trunk/nhibernate/src/NHibernate.Everything.sln 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.Everything.sln 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,6 +1,6 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Support", "Support", "{9BDB5C84-14EC-4384-B423-9E319675B3CA}" ProjectSection(FolderStartupServices) = postProject {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} @@ -61,6 +61,8 @@ {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} = {B4F97281-0DBD-4835-9ED8-7DFB966E87FF} EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ByteCode providers", "ByteCode providers", "{D2E4E87F-2531-4C7A-BBE9-FE8BFEDECECE}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate", "NHibernate\NHibernate.csproj", "{5909BFE7-93CF-4E5F-BE22-6293368AF01D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate.DomainModel", "NHibernate.DomainModel\NHibernate.DomainModel.csproj", "{5C649B55-1B3F-4C38-9998-1B043E94A244}" @@ -73,7 +75,7 @@ EndProject Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "NHibernate.Example.Web", "NHibernate.Example.Web\", "{C5D6EE68-1760-4F97-AD31-42343593D8C1}" ProjectSection(WebsiteProperties) = preProject - TargetFramework = "3.5" + TargetFrameworkMoniker = ".NETFramework,Version%3Dv3.5" ProjectReferences = "{5909BFE7-93CF-4E5F-BE22-6293368AF01D}|NHibernate.dll;{8289D6AD-9714-42D3-A94D-D4D9814D1281}|NHibernate.ByteCode.LinFu.dll;" Debug.AspNetCompiler.VirtualPath = "/NHibernate.Example.Web" Debug.AspNetCompiler.PhysicalPath = "NHibernate.Example.Web\" @@ -95,8 +97,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate.Tool.HbmXsd", "NHibernate.Tool.HbmXsd\NHibernate.Tool.HbmXsd.csproj", "{446E148D-A9D5-4D7D-A706-BEDD45B2BC7D}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ByteCode providers", "ByteCode providers", "{D2E4E87F-2531-4C7A-BBE9-FE8BFEDECECE}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate.ByteCode.Castle", "NHibernate.ByteCode.Castle\NHibernate.ByteCode.Castle.csproj", "{31C3F0EA-0FED-4A2F-B68D-96CE29844487}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NHibernate.ByteCode.Castle.Tests", "NHibernate.ByteCode.Castle.Tests\NHibernate.ByteCode.Castle.Tests.csproj", "{4972EE96-2417-4D47-9FF1-3B1D6B1D3191}" Modified: trunk/nhibernate/src/NHibernate.Example.Web/Web.Config =================================================================== --- trunk/nhibernate/src/NHibernate.Example.Web/Web.Config 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.Example.Web/Web.Config 2010-12-15 18:29:52 UTC (rev 5315) @@ -98,16 +98,16 @@ </root> </log4net> <system.codedom> - <compilers> - <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> - <providerOption name="CompilerVersion" value="v3.5"/> - <providerOption name="WarnAsError" value="false"/></compiler> - <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> - <providerOption name="CompilerVersion" value="v3.5"/> - <providerOption name="OptionInfer" value="true"/> - <providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom> + <compilers> + <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> + <providerOption name="CompilerVersion" value="v3.5"/> + <providerOption name="WarnAsError" value="false"/></compiler> + <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> + <providerOption name="CompilerVersion" value="v3.5"/> + <providerOption name="OptionInfer" value="true"/> + <providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom> <system.webServer> - <validation validateIntegratedModeConfiguration="false"/> + <validation validateIntegratedModeConfiguration="false"/> <modules> <remove name="ScriptModule"/> <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules> @@ -120,8 +120,7 @@ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer> <runtime> - <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> - <dependentAssembly> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727"><dependentAssembly> <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly> <dependentAssembly> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -12,12 +12,25 @@ <AssemblyName>NHibernate.Test</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> - <OldToolsVersion>2.0</OldToolsVersion> + <OldToolsVersion>3.5</OldToolsVersion> <UpgradeBackupLocation> </UpgradeBackupLocation> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> - <TargetFrameworkSubset> - </TargetFrameworkSubset> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -31,6 +44,7 @@ <WarningLevel>4</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -43,6 +57,7 @@ <WarningLevel>4</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> <NoWarn>3001%3b3002%3b3003%3b3004%3b3005</NoWarn> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="Antlr3.Runtime, Version=3.1.0.39271, Culture=neutral, PublicKeyToken=3a9cab8f8d22bfb7, processorArchitecture=MSIL"> @@ -2703,6 +2718,23 @@ <ItemGroup> <Folder Include="Properties\" /> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.TestDatabaseSetup/NHibernate.TestDatabaseSetup.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.TestDatabaseSetup/NHibernate.TestDatabaseSetup.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.TestDatabaseSetup/NHibernate.TestDatabaseSetup.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -14,6 +14,25 @@ <FileAlignment>512</FileAlignment> <StartupObject> </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>3.5</OldToolsVersion> + <UpgradeBackupLocation /> + <PublishUrl>publish\</PublishUrl> + <Install>true</Install> + <InstallFrom>Disk</InstallFrom> + <UpdateEnabled>false</UpdateEnabled> + <UpdateMode>Foreground</UpdateMode> + <UpdateInterval>7</UpdateInterval> + <UpdateIntervalUnits>Days</UpdateIntervalUnits> + <UpdatePeriodically>false</UpdatePeriodically> + <UpdateRequired>false</UpdateRequired> + <MapFileExtensions>true</MapFileExtensions> + <ApplicationRevision>0</ApplicationRevision> + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> + <IsWebBootstrapper>false</IsWebBootstrapper> + <UseApplicationTrust>false</UseApplicationTrust> + <BootstrapperEnabled>true</BootstrapperEnabled> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -23,6 +42,7 @@ <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> @@ -31,6 +51,7 @@ <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> + <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <ItemGroup> <Reference Include="nunit.framework, Version=2.5.0.9122, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL"> @@ -56,6 +77,23 @@ <Name>NHibernate</Name> </ProjectReference> </ItemGroup> + <ItemGroup> + <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> + <Install>false</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> + <Visible>False</Visible> + <ProductName>.NET Framework 3.5 SP1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> + <Visible>False</Visible> + <ProductName>Windows Installer 3.1</ProductName> + <Install>true</Install> + </BootstrapperPackage> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. Modified: trunk/nhibernate/src/NHibernate.Tool.HbmXsd/NHibernate.Tool.HbmXsd.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Tool.HbmXsd/NHibernate.Tool.HbmXsd.csproj 2010-12-14 10:13:36 UTC (rev 5314) +++ trunk/nhibernate/src/NHibernate.Tool.HbmXsd/NHibernate.Tool.HbmXsd.csproj 2010-12-15 18:29:52 UTC (rev 5315) @@ -1,4 +1,5 @@ -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTarge... [truncated message content] |
From: <fab...@us...> - 2010-12-14 10:13:42
|
Revision: 5314 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5314&view=rev Author: fabiomaulo Date: 2010-12-14 10:13:36 +0000 (Tue, 14 Dec 2010) Log Message: ----------- relax of CustomType and CompositeCustomType (needed by ours contrib projects) Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs trunk/nhibernate/src/NHibernate/Type/CustomType.cs Modified: trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs 2010-12-12 20:02:13 UTC (rev 5313) +++ trunk/nhibernate/src/NHibernate/Type/CompositeCustomType.cs 2010-12-14 10:13:36 UTC (rev 5314) @@ -18,6 +18,12 @@ private readonly ICompositeUserType userType; private readonly string name; + public ICompositeUserType UserType + { + // needed as public by ours Contrib projects + get { return userType; } + } + public CompositeCustomType(System.Type userTypeClass, IDictionary<string, string> parameters) { name = userTypeClass.FullName; Modified: trunk/nhibernate/src/NHibernate/Type/CustomType.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Type/CustomType.cs 2010-12-12 20:02:13 UTC (rev 5313) +++ trunk/nhibernate/src/NHibernate/Type/CustomType.cs 2010-12-14 10:13:36 UTC (rev 5314) @@ -24,8 +24,9 @@ private readonly SqlType[] sqlTypes; /// <summary></summary> - protected IUserType UserType + public IUserType UserType { + // needed as public by ours Contrib projects get { return userType; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 20:02:19
|
Revision: 5313 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5313&view=rev Author: fabiomaulo Date: 2010-12-12 20:02:13 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Test for NH-2341 (Cannot Reproduce) Modified Paths: -------------- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Domain.cs 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,16 @@ +namespace NHibernate.Test.NHSpecificTest.NH2341 +{ + public abstract class AbstractBA + { + public virtual int Id { get; set; } + } + public class ConcreteBA : AbstractBA + { + } + public class ConcreteA : ConcreteBA + { + } + public class ConcreteB : ConcreteBA + { + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Fixture.cs 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,26 @@ +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2341 +{ + public class Fixture: BugTestCase + { + [Test] + public void WhenSaveInstanceOfConcreteInheritedThenNotThrows() + { + using(var session = OpenSession()) + using (var tx = session.BeginTransaction()) + { + var entity = new ConcreteB(); + session.Executing(s=> s.Save(entity)).NotThrows(); + tx.Commit(); + } + using (var s = OpenSession()) + using (var tx = s.BeginTransaction()) + { + s.CreateQuery("delete from AbstractBA").ExecuteUpdate(); + tx.Commit(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2341/Mappings.hbm.xml 2010-12-12 20:02:13 UTC (rev 5313) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2341"> + + <class name="AbstractBA" abstract="true"> + <id name="Id"> + <generator class="increment" /> + </id> + <union-subclass name="ConcreteBA"> + <union-subclass name="ConcreteA" /> + <union-subclass name="ConcreteB" /> + </union-subclass> + </class> +</hibernate-mapping> \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 15:48:03 UTC (rev 5312) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 20:02:13 UTC (rev 5313) @@ -517,6 +517,8 @@ <Compile Include="NHSpecificTest\NH2331\MemberGroup.cs" /> <Compile Include="NHSpecificTest\NH2331\Nh2331Test.cs" /> <Compile Include="NHSpecificTest\NH2331\Person.cs" /> + <Compile Include="NHSpecificTest\NH2341\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2341\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2344\Model.cs" /> <Compile Include="NHSpecificTest\NH2361\Fixture.cs" /> @@ -2358,6 +2360,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2341\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2228\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2386\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\Properties\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 16:22:57
|
Revision: 5310 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5310&view=rev Author: fabiomaulo Date: 2010-12-12 15:31:41 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Fix NH-2228 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Domain.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Mappings.hbm.xml Modified: trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2010-12-12 13:18:26 UTC (rev 5309) +++ trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2010-12-12 15:31:41 UTC (rev 5310) @@ -2772,6 +2772,15 @@ return Check(session.Batcher.ExecuteNonQuery(statement), id, j, expectation, statement); } } + catch (StaleStateException e) + { + if (useBatch) + { + session.Batcher.AbortBatch(e); + } + + throw new StaleObjectStateException(EntityName, id); + } catch (Exception e) { if (useBatch) Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Domain.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Domain.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Domain.cs 2010-12-12 15:31:41 UTC (rev 5310) @@ -0,0 +1,20 @@ +using System.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH2228 +{ + public class Parent + { + public Parent() + { + Children = new List<Child>(); + } + public virtual int Id { get; set; } + public virtual IList<Child> Children { get; set; } + } + public class Child + { + public virtual int Id { get; set; } + public virtual Parent Parent { get; set; } + public virtual string Description { get; set; } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Fixture.cs 2010-12-12 15:31:41 UTC (rev 5310) @@ -0,0 +1,81 @@ +using System; +using NUnit.Framework; +using NHibernate.Cfg.Loquacious; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2228 +{ + public class Fixture : BugTestCase + { + public class ParentWithTwoChildrenScenario : IDisposable + { + private readonly ISessionFactory factory; + private readonly int parentId; + + public ParentWithTwoChildrenScenario(ISessionFactory factory) + { + this.factory = factory; + var parent = new Parent(); + parent.Children.Add(new Child {Description = "Child1", Parent = parent}); + parent.Children.Add(new Child { Description = "Child2", Parent = parent }); + using (var s = factory.OpenSession()) + { + parentId = (int)s.Save(parent); + s.Flush(); + } + } + + public int ParentId + { + get { return parentId; } + } + + public void Dispose() + { + using (var s = factory.OpenSession()) + { + s.Delete("from Parent"); + s.Flush(); + } + } + } + + protected override void Configure(NHibernate.Cfg.Configuration configuration) + { + // needed to be sure of StaleStateException that the user has reported in the issue + configuration.DataBaseIntegration(x => x.BatchSize = 1); + } + + [Test] + public void WhenStaleObjectStateThenMessageContainsEntity() + { + using (var scenario = new ParentWithTwoChildrenScenario(Sfi)) + { + using (var client1 = OpenSession()) + using (var tx1 = client1.BeginTransaction()) + { + var parentFromClient1 = client1.Get<Parent>(scenario.ParentId); + NHibernateUtil.Initialize(parentFromClient1.Children); + var firstChildId = parentFromClient1.Children[0].Id; + + DeleteChildUsingAnotherSession(firstChildId); + + parentFromClient1.Children[0].Description = "Modified info"; + var expectedException = tx1.Executing(x => x.Commit()).Throws<StaleObjectStateException>().Exception; + expectedException.EntityName.Should().Be(typeof(Child).FullName); + expectedException.Identifier.Should().Be(firstChildId); + } + } + } + + private void DeleteChildUsingAnotherSession(int childIdToDelete) + { + using (var client2 = Sfi.OpenStatelessSession()) + using (var tx2 = client2.BeginTransaction()) + { + client2.CreateQuery("delete from Child c where c.Id = :pChildId").SetInt32("pChildId", childIdToDelete).ExecuteUpdate(); + tx2.Commit(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2228/Mappings.hbm.xml 2010-12-12 15:31:41 UTC (rev 5310) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" + assembly="NHibernate.Test" + namespace="NHibernate.Test.NHSpecificTest.NH2228"> + + <class name="Parent" > + <id name="Id"> + <generator class="hilo" /> + </id> + <bag name="Children" inverse="true" cascade="all,delete-orphan"> + <key column="ParentId" /> + <one-to-many class="Child"/> + </bag> + </class> + <class name="Child" > + <id name="Id"> + <generator class="hilo" /> + </id> + <many-to-one name="Parent" column="ParentId"/> + <property name="Description"/> + </class> + +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 13:18:26 UTC (rev 5309) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 15:31:41 UTC (rev 5310) @@ -474,6 +474,8 @@ <Compile Include="NHSpecificTest\NH2202\Model.cs" /> <Compile Include="NHSpecificTest\NH2224\Domain.cs" /> <Compile Include="NHSpecificTest\NH2224\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2228\Domain.cs" /> + <Compile Include="NHSpecificTest\NH2228\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2244\A.cs" /> <Compile Include="NHSpecificTest\NH2244\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2244\PhoneNumber.cs" /> @@ -2356,6 +2358,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2228\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2386\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\Properties\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2378\Mappings.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 15:48:09
|
Revision: 5312 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5312&view=rev Author: fabiomaulo Date: 2010-12-12 15:48:03 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Changed the version to reflect the actual trunk development version Modified Paths: -------------- trunk/nhibernate/build-common/common.xml Modified: trunk/nhibernate/build-common/common.xml =================================================================== --- trunk/nhibernate/build-common/common.xml 2010-12-12 15:46:14 UTC (rev 5311) +++ trunk/nhibernate/build-common/common.xml 2010-12-12 15:48:03 UTC (rev 5312) @@ -84,7 +84,7 @@ effectively SP0). --> - <property name="project.version" value="3.0.0.GA" overwrite="false" /> + <property name="project.version" value="3.0.1.GA" overwrite="false" /> <!-- Compute short project version (major.minor) using a regex --> <regex input="${project.version}" pattern="^(?'shortversion'\d+\.\d+)" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 15:46:20
|
Revision: 5311 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5311&view=rev Author: fabiomaulo Date: 2010-12-12 15:46:14 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Fix NH-2454 Modified Paths: -------------- trunk/nhibernate/doc/reference/modules/configuration.xml Modified: trunk/nhibernate/doc/reference/modules/configuration.xml =================================================================== --- trunk/nhibernate/doc/reference/modules/configuration.xml 2010-12-12 15:31:41 UTC (rev 5310) +++ trunk/nhibernate/doc/reference/modules/configuration.xml 2010-12-12 15:46:14 UTC (rev 5311) @@ -568,7 +568,32 @@ </para> </entry> </row> - <row> + <row> + <entry> + <literal>hbm2ddl.keywords</literal> + </entry> + <entry> + Automatically import <literal>reserved/keywords</literal> from the database when the + <literal>ISessionFactory</literal> is created. + <para> + <emphasis role="strong">none :</emphasis> + disable any operation regarding RDBMS KeyWords + </para> + <para> + <emphasis role="strong">keywords :</emphasis> + imports all RDBMS KeyWords where the <literal>Dialect</literal> can provide the implementation of <literal>IDataBaseSchema</literal>. + </para> + <para> + <emphasis role="strong">auto-quote :</emphasis> + imports all RDBMS KeyWords and auto-quote all table-names/column-names . + </para> + <para> + <emphasis role="strong">eg.</emphasis> + <literal>none</literal> | <literal>keywords</literal> | <literal>auto-quote</literal> + </para> + </entry> + </row> + <row> <entry> <literal>use_proxy_validator</literal> </entry> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 13:18:32
|
Revision: 5309 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5309&view=rev Author: fabiomaulo Date: 2010-12-12 13:18:26 +0000 (Sun, 12 Dec 2010) Log Message: ----------- Fix NH-2211 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/Linq/StatelessSessionQueringTest.cs Modified: trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs 2010-12-12 12:47:00 UTC (rev 5308) +++ trunk/nhibernate/src/NHibernate/Impl/AbstractSessionImpl.cs 2010-12-12 13:18:26 UTC (rev 5309) @@ -82,8 +82,18 @@ public abstract void CloseSessionFromDistributedTransaction(); public abstract IList List(string query, QueryParameters parameters); public abstract void List(string query, QueryParameters parameters, IList results); - public abstract IList List(IQueryExpression queryExpression, QueryParameters parameters); - public abstract void List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results); + + public virtual IList List(IQueryExpression queryExpression, QueryParameters parameters) + { + IList results = (IList)typeof(List<>).MakeGenericType(queryExpression.Type) + .GetConstructor(System.Type.EmptyTypes) + .Invoke(null); + + List(queryExpression, parameters, results); + return results; + } + + public abstract void List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results); public abstract IList<T> List<T>(string query, QueryParameters queryParameters); public abstract IList<T> List<T>(CriteriaImpl criteria); public abstract void List(CriteriaImpl criteria, IList results); Modified: trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs 2010-12-12 12:47:00 UTC (rev 5308) +++ trunk/nhibernate/src/NHibernate/Impl/SessionImpl.cs 2010-12-12 13:18:26 UTC (rev 5309) @@ -625,17 +625,6 @@ } } - public override IList List(IQueryExpression queryExpression, QueryParameters parameters) - { - IList results = (IList) typeof(List<>).MakeGenericType(queryExpression.Type) - .GetConstructor(System.Type.EmptyTypes) - .Invoke(null); - - List(queryExpression, parameters, results); - - return results; - } - public override void List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results) { using (new SessionIdLoggingContext(SessionId)) Modified: trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs 2010-12-12 12:47:00 UTC (rev 5308) +++ trunk/nhibernate/src/NHibernate/Impl/StatelessSessionImpl.cs 2010-12-12 13:18:26 UTC (rev 5309) @@ -140,14 +140,35 @@ } } - public override IList List(IQueryExpression queryExpression, QueryParameters parameters) + public override void List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results) { - throw new System.NotImplementedException(); - } + using (new SessionIdLoggingContext(SessionId)) + { + CheckAndUpdateSessionStatus(); + queryParameters.ValidateParameters(); + var plan = GetHQLQueryPlan(queryExpression, false); - public override void List(IQueryExpression queryExpression, QueryParameters queryParameters, IList results) - { - throw new System.NotImplementedException(); + bool success = false; + try + { + plan.PerformList(queryParameters, this, results); + success = true; + } + catch (HibernateException) + { + // Do not call Convert on HibernateExceptions + throw; + } + catch (Exception e) + { + throw Convert(e, "Could not execute query"); + } + finally + { + AfterOperation(success); + } + temporaryPersistenceContext.Clear(); + } } public override IList<T> List<T>(string query, QueryParameters queryParameters) Modified: trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2010-12-12 12:47:00 UTC (rev 5308) +++ trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2010-12-12 13:18:26 UTC (rev 5309) @@ -14,6 +14,11 @@ return new NhQueryable<T>(session as ISessionImplementor); } + public static IQueryable<T> Query<T>(this IStatelessSession session) + { + return new NhQueryable<T>(session as ISessionImplementor); + } + public static IQueryable<T> Cacheable<T>(this IQueryable<T> query) { var method = ReflectionHelper.GetMethodDefinition(() => Cacheable<object>(null)).MakeGenericMethod(typeof(T)); Added: trunk/nhibernate/src/NHibernate.Test/Linq/StatelessSessionQueringTest.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/Linq/StatelessSessionQueringTest.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/Linq/StatelessSessionQueringTest.cs 2010-12-12 13:18:26 UTC (rev 5309) @@ -0,0 +1,33 @@ +using System.Linq; +using System.Text; +using NHibernate.DomainModel.Northwind.Entities; +using NUnit.Framework; +using NHibernate.Linq; +using SharpTestsEx; + +namespace NHibernate.Test.Linq +{ + public class StatelessSessionQueringTest : LinqTestCase + { + [Test] + public void WhenQueryThroughStatelessSessionThenDoesNotThrows() + { + using (var statelessSession = Sfi.OpenStatelessSession()) + { + var query = statelessSession.Query<Customer>(); + query.Executing(q => q.ToList()).NotThrows(); + } + } + + [Test] + public void AggregateWithStartsWith() + { + using (IStatelessSession statelessSession = Sfi.OpenStatelessSession()) + { + StringBuilder query = (from c in statelessSession.Query<Customer>() where c.CustomerId.StartsWith("A") select c.CustomerId) + .Aggregate(new StringBuilder(), (sb, id) => sb.Append(id).Append(",")); + query.ToString().Should().Be("ALFKI,ANATR,ANTON,AROUT,"); + } + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 12:47:00 UTC (rev 5308) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-12 13:18:26 UTC (rev 5309) @@ -438,6 +438,7 @@ <Compile Include="Linq\QueryCacheableTests.cs" /> <Compile Include="Linq\QueryReuseTests.cs" /> <Compile Include="Linq\ReadonlyTestCase.cs" /> + <Compile Include="Linq\StatelessSessionQueringTest.cs" /> <Compile Include="Logging\Log4NetLoggerTest.cs" /> <Compile Include="Logging\LoggerProviderTest.cs" /> <Compile Include="NHSpecificTest\EntityNameAndCompositeId\Fixture.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-12 12:47:06
|
Revision: 5308 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5308&view=rev Author: fabiomaulo Date: 2010-12-12 12:47:00 +0000 (Sun, 12 Dec 2010) Log Message: ----------- First step to fix NH-2211 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Engine/ISessionImplementor.cs trunk/nhibernate/src/NHibernate/ISession.cs trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs trunk/nhibernate/src/NHibernate/Linq/NhQueryProvider.cs trunk/nhibernate/src/NHibernate/Linq/NhQueryable.cs Modified: trunk/nhibernate/src/NHibernate/Engine/ISessionImplementor.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Engine/ISessionImplementor.cs 2010-12-11 18:39:48 UTC (rev 5307) +++ trunk/nhibernate/src/NHibernate/Engine/ISessionImplementor.cs 2010-12-12 12:47:00 UTC (rev 5308) @@ -89,6 +89,13 @@ /// <returns></returns> IList List(IQueryExpression queryExpression, QueryParameters parameters); + /// <summary> + /// Create a new instance of <c>Query</c> for the given query expression + /// <param name="queryExpression">A hibernate query expression</param> + /// <returns>The query</returns> + /// </summary> + IQuery CreateQuery(IQueryExpression queryExpression); + void List(string query, QueryParameters parameters, IList results); /// <summary> Modified: trunk/nhibernate/src/NHibernate/ISession.cs =================================================================== --- trunk/nhibernate/src/NHibernate/ISession.cs 2010-12-11 18:39:48 UTC (rev 5307) +++ trunk/nhibernate/src/NHibernate/ISession.cs 2010-12-12 12:47:00 UTC (rev 5308) @@ -663,13 +663,6 @@ /// <param name="queryString">A hibernate query string</param> /// <returns>The query</returns> IQuery CreateQuery(string queryString); - - /// <summary> - /// Create a new instance of <c>Query</c> for the given query expression - /// <param name="queryExpression">A hibernate query expression</param> - /// <returns>The query</returns> - /// </summary> - IQuery CreateQuery(IQueryExpression queryExpression); /// <summary> /// Create a new instance of <c>Query</c> for the given collection and filter string Modified: trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2010-12-11 18:39:48 UTC (rev 5307) +++ trunk/nhibernate/src/NHibernate/Linq/LinqExtensionMethods.cs 2010-12-12 12:47:00 UTC (rev 5308) @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; +using NHibernate.Engine; using NHibernate.Impl; namespace NHibernate.Linq @@ -10,7 +11,7 @@ { public static IQueryable<T> Query<T>(this ISession session) { - return new NhQueryable<T>(session); + return new NhQueryable<T>(session as ISessionImplementor); } public static IQueryable<T> Cacheable<T>(this IQueryable<T> query) Modified: trunk/nhibernate/src/NHibernate/Linq/NhQueryProvider.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/NhQueryProvider.cs 2010-12-11 18:39:48 UTC (rev 5307) +++ trunk/nhibernate/src/NHibernate/Linq/NhQueryProvider.cs 2010-12-12 12:47:00 UTC (rev 5308) @@ -4,6 +4,7 @@ using System.Linq; using System.Linq.Expressions; using System.Reflection; +using NHibernate.Engine; using NHibernate.Impl; using NHibernate.Type; @@ -11,9 +12,9 @@ { public class NhQueryProvider : IQueryProvider { - private readonly ISession _session; + private readonly ISessionImplementor _session; - public NhQueryProvider(ISession session) + public NhQueryProvider(ISessionImplementor session) { _session = session; } Modified: trunk/nhibernate/src/NHibernate/Linq/NhQueryable.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Linq/NhQueryable.cs 2010-12-11 18:39:48 UTC (rev 5307) +++ trunk/nhibernate/src/NHibernate/Linq/NhQueryable.cs 2010-12-12 12:47:00 UTC (rev 5308) @@ -1,5 +1,6 @@ using System.Linq; using System.Linq.Expressions; +using NHibernate.Engine; using Remotion.Data.Linq; namespace NHibernate.Linq @@ -10,7 +11,7 @@ public class NhQueryable<T> : QueryableBase<T> { // This constructor is called by our users, create a new IQueryExecutor. - public NhQueryable(ISession session) + public NhQueryable(ISessionImplementor session) : base(new NhQueryProvider(session)) { } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fab...@us...> - 2010-12-11 18:39:54
|
Revision: 5307 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5307&view=rev Author: fabiomaulo Date: 2010-12-11 18:39:48 +0000 (Sat, 11 Dec 2010) Log Message: ----------- Fix NH-2386 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Mappings.hbm.xml trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Organisation.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/ResponsibleLegalPerson.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Test.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/TradingName.cs Modified: trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2010-12-11 15:44:12 UTC (rev 5306) +++ trunk/nhibernate/src/NHibernate/Persister/Entity/AbstractEntityPersister.cs 2010-12-11 18:39:48 UTC (rev 5307) @@ -1128,9 +1128,14 @@ } if (IsVersioned) { - tableUpdateNeeded[0] = tableUpdateNeeded[0] || - Versioning.IsVersionIncrementRequired(dirtyProperties, hasDirtyCollection, - PropertyVersionability); + // NH-2386 when there isn't dirty-properties and the version is generated even in UPDATE + // we can't execute an UPDATE because there isn't something to UPDATE + if(!entityMetamodel.VersionProperty.IsUpdateGenerated) + { + tableUpdateNeeded[0] = tableUpdateNeeded[0] || + Versioning.IsVersionIncrementRequired(dirtyProperties, hasDirtyCollection, + PropertyVersionability); + } } return tableUpdateNeeded; } Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Mappings.hbm.xml 2010-12-11 18:39:48 UTC (rev 5307) @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test" namespace="NHibernate.Test.NHSpecificTest.NH2386"> + <class name="Organisation" abstract ="false" table="tblTrnOrganisation"> + <id name="OrganisationId"> + <generator class="guid"></generator> + </id> + + <version name="RowVersion" type="BinaryBlob" generated="always" unsaved-value="null"> + <column name="RVersion" sql-type="timestamp"/> + </version> + + <set name="ResponsibleLegalPersons" table="tblTrnRtoResponsibleLegalPerson" cascade="all-delete-orphan" fetch="join" lazy="false"> + <key column="OrganisationId"></key> + <one-to-many class="ResponsibleLegalPerson"/> + </set> + + <set name="TradingNames" table="tblTrnOrganisationTradingName" cascade="all-delete-orphan" lazy="true" batch-size="10" inverse="true"> + <key column="OrganisationId"></key> + <one-to-many class="TradingName"/> + </set> + + + </class> + + <class name="TradingName" abstract="false" table="tblTrnOrganisationTradingName" dynamic-insert="true" dynamic-update="true"> + <id name="TradingNameId" type="guid" column="TradingNameId"> + <generator class="guid"></generator> + </id> + <many-to-one name="Organisation" column="OrganisationId" class="Organisation" not-null="true"/> + <property name="Name" column="TradingName" length="300" not-null="true"/> + <property name="StartDate" column="TradingNameStartDate"/> + <property name="EndDate" column="TradingNameEndDate"/> + </class> + + <class name="ResponsibleLegalPerson" table="tblTrnRtoResponsibleLegalPerson" dynamic-insert="true" dynamic-update="true" > + <id name="ResponsibleLegalPersonId" column="ResponsibleLegalPersonId"> + <generator class="guid"></generator> + </id> + + <many-to-one name="Organisation" column="OrganisationId" class="Organisation" not-null="true"/> + <property name="StartDate" column="ResponsibleLegalPersonStartDate" not-null="true"/> + <property name="EndDate" column="ResponsibleLegalPersonEndDate"/> + <property name="Name" column="ResponsibleLegalPersonName" not-null="true"/> + <property name="Abn" length="11"/> + <property name="Acn" length="9"/> + </class> + + +</hibernate-mapping> + Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Organisation.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Organisation.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Organisation.cs 2010-12-11 18:39:48 UTC (rev 5307) @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using Iesi.Collections.Generic; + +namespace NHibernate.Test.NHSpecificTest.NH2386 +{ + public class Organisation + { + //internal to TGA + //private int organisationId; + public virtual Guid OrganisationId { get; set; } + private ISet<TradingName> tradingNames; + private ISet<ResponsibleLegalPerson> responsibleLegalPersons; + + /// <summary> + /// + /// </summary> + + + public virtual ISet<ResponsibleLegalPerson> ResponsibleLegalPersons { + get { + if (responsibleLegalPersons == null) { + responsibleLegalPersons = new HashedSet<ResponsibleLegalPerson>(); + } + return responsibleLegalPersons; + } + protected set { + responsibleLegalPersons = value; + + } + } + + public virtual ISet<TradingName> TradingNames { + get { + if (tradingNames == null) { + tradingNames = new HashedSet<TradingName>(); + } + return tradingNames; + } + protected set { + tradingNames = value; + + } + } + + protected internal virtual byte[] RowVersion { get; protected set; } + + } + +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/ResponsibleLegalPerson.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/ResponsibleLegalPerson.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/ResponsibleLegalPerson.cs 2010-12-11 18:39:48 UTC (rev 5307) @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH2386 +{ + [Serializable] + public class ResponsibleLegalPerson { + private Guid responsibleLegalPersonId; + private Organisation organisation; + //private DateTime startDate; + + protected ResponsibleLegalPerson() {} + + public ResponsibleLegalPerson(Organisation organisation) { + if (organisation == null) { + throw new ArgumentNullException("organisation"); + } + + this.organisation = organisation; + } + + public virtual Guid ResponsibleLegalPersonId { + get { return responsibleLegalPersonId; } + protected set { responsibleLegalPersonId = value; } + } + + + public virtual Organisation Organisation { + get { return organisation; } + protected set { organisation = value; } + } + + public virtual DateTime StartDate { get; set; } + public virtual DateTime? EndDate { get; set; } + public virtual string Abn { get; set; } + public virtual string Acn { get; set; } + + public virtual string Name { get; set; } + + public override int GetHashCode() { + return responsibleLegalPersonId.GetHashCode(); + } + + public override bool Equals(object obj) { + ResponsibleLegalPerson other = obj as ResponsibleLegalPerson; + if (other == null) { + return false; + } + + if (responsibleLegalPersonId == Guid.Empty) { + return object.ReferenceEquals(this, other); + } + return this.responsibleLegalPersonId == other.responsibleLegalPersonId; + } + } +} Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Test.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Test.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/Test.cs 2010-12-11 18:39:48 UTC (rev 5307) @@ -0,0 +1,44 @@ +using System; +using log4net; +using log4net.Appender; +using log4net.Repository.Hierarchy; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.NH2386 { + [TestFixture] + public class Test : BugTestCase { + private MemoryAppender memoryAppender; + + + protected override void OnTearDown() { + if (memoryAppender != null) { + var repository = (Hierarchy) LogManager.GetRepository(); + repository.Root.RemoveAppender(memoryAppender); + memoryAppender = null; + } + base.OnTearDown(); + } + + [Test] + public void TheTest() { + using (ISession session = OpenSession()) { + var organisation = new Organisation(); + session.SaveOrUpdate(organisation); + session.Flush(); + + organisation.TradingNames.Add(new TradingName(organisation) + {Name = "Trading Name", StartDate = DateTime.Today}); + + session.SaveOrUpdate(organisation); + + //this line below fails + //AbstractBatcher:0 - Could not execute command: UPDATE tblTrnOrganisation SET WHERE OrganisationId = @p0 AND RVersion = @p1 + //System.Data.SqlClient.SqlException: Incorrect syntax near the keyword 'WHERE'. + session.Flush(); + + session.Delete(organisation); + session.Flush(); + } + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/TradingName.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/TradingName.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2386/TradingName.cs 2010-12-11 18:39:48 UTC (rev 5307) @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace NHibernate.Test.NHSpecificTest.NH2386 +{ + /// <summary> + /// represents a trading name for an organisation + /// </summary> + public class TradingName { + private Organisation organisation; + + public virtual Guid TradingNameId { get; protected set;} + + + public TradingName(Organisation organisation) { + if (organisation == null) { + throw new ArgumentNullException("organisation"); + } + this.organisation = organisation; + } + + protected TradingName() {} + + public virtual string Name { get; set; } + + public virtual Organisation Organisation { + get { return organisation; } + protected set { organisation = value; } + } + + public virtual DateTime StartDate { get; set; } + + public virtual DateTime? EndDate { get; set; } + + private bool ShouldSerializeEndDate() { + return EndDate.HasValue; + } + + public override string ToString() { + return Name; + } + + } + + +} Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-11 15:44:12 UTC (rev 5306) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-12-11 18:39:48 UTC (rev 5307) @@ -521,6 +521,10 @@ <Compile Include="NHSpecificTest\NH2378\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2378\TestEntity.cs" /> <Compile Include="NHSpecificTest\NH2378\TestEntityDto.cs" /> + <Compile Include="NHSpecificTest\NH2386\Organisation.cs" /> + <Compile Include="NHSpecificTest\NH2386\ResponsibleLegalPerson.cs" /> + <Compile Include="NHSpecificTest\NH2386\Test.cs" /> + <Compile Include="NHSpecificTest\NH2386\TradingName.cs" /> <Compile Include="NHSpecificTest\NH2392\A.cs" /> <Compile Include="NHSpecificTest\NH2392\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2392\PhoneNumber.cs" /> @@ -2351,6 +2355,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2386\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\Properties\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2378\Mappings.hbm.xml" /> <EmbeddedResource Include="TypesTest\XDocClass.hbm.xml" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-12-11 15:44:18
|
Revision: 5306 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5306&view=rev Author: julian-maughan Date: 2010-12-11 15:44:12 +0000 (Sat, 11 Dec 2010) Log Message: ----------- Creating feature branch for port of Hibernate read-only Criteria Added Paths: ----------- branches/ReadOnlyCriteria/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-12-11 15:42:15
|
Revision: 5305 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5305&view=rev Author: julian-maughan Date: 2010-12-11 15:42:09 +0000 (Sat, 11 Dec 2010) Log Message: ----------- Removed Paths: ------------- branches/HibernatePortOfReadOnlyCriteria/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jul...@us...> - 2010-12-11 15:32:10
|
Revision: 5304 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5304&view=rev Author: julian-maughan Date: 2010-12-11 15:32:04 +0000 (Sat, 11 Dec 2010) Log Message: ----------- Added Paths: ----------- branches/HibernatePortOfReadOnlyCriteria/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |