Skip to content

Commit b5a0ef2

Browse files
author
zzzprojects
committed
Update to v1.5.3
Fix GetCommandTextAndParameters
1 parent bf6c995 commit b5a0ef2

File tree

6 files changed

+28
-10
lines changed

6 files changed

+28
-10
lines changed

src/Z.EntityFramework.Plus.EF6.NET40/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
[assembly: AssemblyCulture("")]
1919
[assembly: ComVisible(false)]
2020
[assembly: Guid("ac398eb8-0a31-4d06-a804-84d10b6da96d")]
21-
[assembly: AssemblyVersion("1.5.2")]
22-
[assembly: AssemblyFileVersion("1.5.2")]
21+
[assembly: AssemblyVersion("1.5.3")]
22+
[assembly: AssemblyFileVersion("1.5.3")]

src/Z.EntityFramework.Plus.EF6.NET40/_Internal/EF5_EF6/DbContext/DbContext.GetObjectContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// More projects: http://www.zzzprojects.com/
66
// Copyright © ZZZ Projects Inc. 2014 - 2016. All rights reserved.
77

8-
#if FULL || QUERY_FILTER
8+
#if FULL || BATCH_DELETE || BATCH_UPDATE || QUERY_FILTER
99
#if EF5 || EF6
1010

1111
#if EF5

src/Z.EntityFramework.Plus.EF6.NET40/_Internal/EF6/ObjectQuery/GetCommandTextAndParameters.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,21 @@ public static Tuple<string, DbParameterCollection> GetCommandTextAndParameters(t
4242
var interceptorsField = commandDispatcher.GetType().GetField("_interceptors", BindingFlags.Instance | BindingFlags.NonPublic);
4343
var interceptors = (List<IDbCommandInterceptor>) interceptorsField.GetValue(commandDispatcher);
4444

45-
interceptors.ForEach(i => i.ReaderExecuting(prepareEntityCommandBeforeExecution, new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext())));
45+
var interceptionContexts = new Dictionary<IDbCommandInterceptor, DbCommandInterceptionContext<DbDataReader>>();
46+
47+
interceptors.ForEach(i => {
48+
var interceptionContext = new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext());
49+
interceptionContexts[i] = interceptionContext;
50+
i.ReaderExecuting(prepareEntityCommandBeforeExecution, interceptionContext);
51+
});
4652

4753
sql = prepareEntityCommandBeforeExecution.CommandText;
4854
var parameters = prepareEntityCommandBeforeExecution.Parameters;
4955

50-
interceptors.ForEach(i => i.ReaderExecuted(prepareEntityCommandBeforeExecution, new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext())));
56+
interceptors.ForEach(i => {
57+
var interceptionContext = interceptionContexts[i];
58+
i.ReaderExecuted(prepareEntityCommandBeforeExecution, interceptionContext);
59+
});
5160

5261
return new Tuple<string, DbParameterCollection>(sql, parameters);
5362
}

src/Z.EntityFramework.Plus.EF6/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
[assembly: AssemblyCulture("")]
1919
[assembly: ComVisible(false)]
2020
[assembly: Guid("89f47e22-ff83-4ac8-be90-c6755748cf89")]
21-
[assembly: AssemblyVersion("1.5.2")]
22-
[assembly: AssemblyFileVersion("1.5.2")]
21+
[assembly: AssemblyVersion("1.5.3")]
22+
[assembly: AssemblyFileVersion("1.5.3")]

src/Z.EntityFramework.Plus.EF6/_Internal/EF6/ObjectQuery/GetCommandTextAndParameters.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,21 @@ public static Tuple<string, DbParameterCollection> GetCommandTextAndParameters(t
4242
var interceptorsField = commandDispatcher.GetType().GetField("_interceptors", BindingFlags.Instance | BindingFlags.NonPublic);
4343
var interceptors = (List<IDbCommandInterceptor>) interceptorsField.GetValue(commandDispatcher);
4444

45-
interceptors.ForEach(i => i.ReaderExecuting(prepareEntityCommandBeforeExecution, new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext())));
45+
var interceptionContexts = new Dictionary<IDbCommandInterceptor, DbCommandInterceptionContext<DbDataReader>>();
46+
47+
interceptors.ForEach(i => {
48+
var interceptionContext = new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext());
49+
interceptionContexts[i] = interceptionContext;
50+
i.ReaderExecuting(prepareEntityCommandBeforeExecution, interceptionContext);
51+
});
4652

4753
sql = prepareEntityCommandBeforeExecution.CommandText;
4854
var parameters = prepareEntityCommandBeforeExecution.Parameters;
4955

50-
interceptors.ForEach(i => i.ReaderExecuted(prepareEntityCommandBeforeExecution, new DbCommandInterceptionContext<DbDataReader>(objectQuery.Context.GetInterceptionContext())));
56+
interceptors.ForEach(i => {
57+
var interceptionContext = interceptionContexts[i];
58+
i.ReaderExecuted(prepareEntityCommandBeforeExecution, interceptionContext);
59+
});
5160

5261
return new Tuple<string, DbParameterCollection>(sql, parameters);
5362
}

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.5.2
1+
v1.5.3

0 commit comments

Comments
 (0)