diff --git a/QueryBuilder.Tests/ExecutionTests.cs b/QueryBuilder.Tests/ExecutionTests.cs index f67c4a57..5ed11bf0 100644 --- a/QueryBuilder.Tests/ExecutionTests.cs +++ b/QueryBuilder.Tests/ExecutionTests.cs @@ -14,5 +14,14 @@ public void ShouldThrowException() new Query("Books").Get(); }); } + + [Fact] + public void TimeoutShouldBeCarriedToNewCreatedFactory() + { + var db = new QueryFactory(); + db.QueryTimeout = 4000; + var newFactory = QueryExtensions.CreateQueryFactory(db.Query()); + Assert.Equal(db.QueryTimeout, newFactory.QueryTimeout); + } } } \ No newline at end of file diff --git a/SqlKata.Execution/Properties/AssemblyInfo.cs b/SqlKata.Execution/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..5e161ab1 --- /dev/null +++ b/SqlKata.Execution/Properties/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("QueryBuilder.Tests")] \ No newline at end of file diff --git a/SqlKata.Execution/Query.Extensions.cs b/SqlKata.Execution/Query.Extensions.cs index a3aadf35..05a3584e 100644 --- a/SqlKata.Execution/Query.Extensions.cs +++ b/SqlKata.Execution/Query.Extensions.cs @@ -366,7 +366,7 @@ internal static XQuery CastToXQuery(Query query, string method = null) internal static QueryFactory CreateQueryFactory(XQuery xQuery) { - var factory = new QueryFactory(xQuery.Connection, xQuery.Compiler); + var factory = new QueryFactory(xQuery.Connection, xQuery.Compiler, xQuery.QueryFactory.QueryTimeout); factory.Logger = xQuery.Logger;