From aebd654870dd3bc0143bb3bf43a4e505ead4434c Mon Sep 17 00:00:00 2001 From: novamxd Date: Sun, 1 Oct 2017 18:50:48 -0500 Subject: [PATCH 1/2] Issue 238 - Bug: Batch Update with Inheritance *Added* Added support for TPT, TPC, and TPH BatchDelete and BatchUpdate to EF5, EF6 Added support for TPC and TPH BatchDelete and BatchUpdate to EFCore .NET 4.5.1. EFCore 1.x doesn't support TPT. Added six unit tests to test for BatchDelete and BatchUpdate Inheritance Compared tests between EF5 and EF6, added some that were missing. *Changed* Updated all nuget packages to the highest revision without changing major revisions. Ex: 1.0.0 -> 1.1.3 Changed NETStandard version to 1.6 (from 1.3) Disabled signing until PFX file is restored Some general bug fixes and code clean up to get projects to compile for EF5, EF6, and EFCore *Removed* Removed cross platform support from testing libraries. Meaning they have the code they need to under their target platforms and nothing extra. Removed references to the EFPlus Nuget Packages from the Test projects --- .gitignore | 1 + .../Z.EntityFramework.Plus.EF5.NET40.csproj | 2 +- src/Z.EntityFramework.Plus.EF5.sln | 104 ++++ .../Z.EntityFramework.Plus.EF5.csproj | 3 +- .../Z.EntityFramework.Plus.EF6.NET40.csproj | 2 +- src/Z.EntityFramework.Plus.EF6.sln | 105 ++++ .../Z.EntityFramework.Plus.EF6.csproj | 2 +- src/Z.EntityFramework.Plus.EFCore.NET451.sln | 101 ++++ ....EntityFramework.Plus.EFCore.NET451.csproj | 67 ++- .../app.config | 59 ++ .../packages.config | 80 ++- ...ntityFramework.Plus.EFCore.NETStandard.sln | 88 +++ ...tyFramework.Plus.EFCore.NETStandard.csproj | 34 +- ...Framework.Plus.EFCore.NETStandard20.csproj | 4 +- src/shared/Z.EF.Plus.Audit.Shared/Audit.cs | 2 +- .../BatchDelete.cs | 372 ++++++------ .../Extensions/Delete.cs | 12 +- .../BatchUpdate.cs | 555 ++++++++++-------- .../Extensions/DbModelPlusExtentions.cs | 146 +++++ .../Extensions/Update.cs | 12 +- .../Model/TableDefinition.cs | 35 ++ .../Z.EF.Plus.BatchUpdate.Shared.projitems | 3 + .../QueryDeferredExtensions.cs | 8 +- ...QueryAddOrAppendOrderExpressionVisitor`.cs | 1 + ...ueryAddOrAppendOrderExpressionVisitor`2.cs | 2 + .../QueryFilterContext.cs | 2 +- .../BaseQueryFilterInterceptor.cs | 6 +- .../QueryFilterInterceptor.cs | 10 +- .../QueryFilterInterceptorContext.cs | 3 + .../QueryFilterInterceptorManager.cs | 7 +- .../QueryFutureBatch.cs | 6 +- .../QueryFutureEnumerable.cs | 7 +- .../QueryFutureOracleDbReader.cs | 2 +- .../QueryFutureValue.cs | 4 - .../QueryIncludeFilterParentQueryable`.cs | 2 +- .../QueryIncludeFilterPathVisitor.cs | 1 + .../QueryIncludeFilterProvider.cs | 9 +- .../QueryIncludeOptimizedManager.cs | 3 - .../QueryIncludeOptimizedProvider.cs | 32 +- .../DynamicAnonymousType.cs | 4 +- .../DbContext/DbContext.GetDbSetProperties.cs | 2 +- .../EF/IQueryable`/IQueryable.Order.cs | 2 +- .../EF/Type/Type.GetDbSetElementType.cs | 8 +- .../IQueryable/IQueryable.SelectByName.cs | 2 +- .../CreateEntity/CreateEntityDataReader.cs | 2 +- .../EFCore/Type/GetTypeFromAssembly_Core.cs | 2 +- .../Extensions/DbModelPlusExtentions.cs | 143 +++++ .../Model/Extensions/TableDefinition.cs | 32 + .../Model/Infrastructure/DbModelPlus.cs | 2 +- .../Model/SchemaObjectModel/Schema.cs | 11 + .../SchemaObjectModel/SchemaEntityType.cs | 11 + .../Z.EF.Plus._Core.Shared.projitems | 2 + .../App.config | 2 +- ...dit_Configuration_UseNullForDBNullValue.cs | 16 + .../Configuration_IncludeProperty/Single.cs | 1 - .../EntityAdded_IsFalse.cs | 195 ++++++ .../EntityAdded_IsTrue.cs | 194 ++++++ .../EntityModified_IsFalse.cs | 198 +++++++ .../EntityModified_IsTrue.cs | 196 +++++++ .../BatchDelete/BatchDelete_Inheritance.cs | 16 + .../BatchDelete/Executing/Template.cs | 2 +- .../Executing/WhileDelayTemplate.cs | 2 +- .../BatchDelete/Executing/WhileTemplate.cs | 2 +- .../Inheritance/BatchDelete_Inheritance.cs | 246 ++++++++ .../BatchDelete/Visitor/Skip.cs | 41 +- .../BatchDelete/Visitor/Take.cs | 43 +- .../BatchUpdate/BatchUpdate_Inheritance.cs | 16 + .../Inheritance/BatchUpdate_Inheritance.cs | 168 ++++++ .../ForceFirstTagAsCacheKey/None.cs | 47 -- .../ForceFirstTagAsCacheKey/Single.cs | 41 -- .../QueryCache/UseFirstTagAsCacheKey/None.cs | 2 - .../QueryCache/UseTagsAsCacheKey/None.cs | 2 - .../WithParameter/ManyFilter_ManyParameter.cs | 36 ++ .../WithParameter/ManyFilter_NoParameter.cs | 31 + .../ManyFilter_SingleParameter.cs | 34 ++ .../SingleFilter_ManyParameter.cs | 32 + .../WithParameter/SingleFilter_NoParameter.cs | 30 + .../SingleFilter_SingleParameter.cs | 31 + .../Empty/LeftEmpty_Many_Enumerator.cs | 47 ++ .../Empty/LeftEmpty_Many_Executor.cs | 47 ++ .../Empty/LeftEmpty_Single_Enumerator.cs | 44 ++ .../Empty/LeftEmpty_Single_Executor.cs | 44 ++ .../Empty/RightEmpty_Many_Enumerator.cs | 51 ++ .../Empty/RightEmpty_Many_Executor.cs | 47 ++ .../Empty/RightEmpty_Single_Enumerator.cs | 47 ++ .../Empty/RightEmpty_Single_Executor.cs | 43 ++ .../FirstWithPredicate/Many_Executor.cs | 71 +++ .../Many_ThenQuery_Executor.cs | 82 +++ .../FirstWithPredicate/Single_Executor.cs | 54 ++ .../Single_ThenQuery_Executor.cs | 66 +++ .../QueryIncludeFilter_Empty.cs | 16 + .../QueryIncludeFilter_FirstWithPredicate.cs | 16 + ...yIncludeFilter_FirstWithPredicate_Async.cs | 16 + .../QueryIncludeFilter_IncludeEF.cs | 16 + .../QueryIncludeFilter_Where.cs | 16 + .../QueryIncludeFilter_Where_Async.cs | 16 + .../Where/Many_Enumerator.cs | 57 ++ .../QueryIncludeFilter/Where/Many_Executor.cs | 71 +++ .../QueryIncludeFilter/Where/Many_Property.cs | 61 ++ .../Where/Many_ThenQuery_Enumerator.cs | 86 +++ .../Where/Many_ThenQuery_Executor.cs | 82 +++ .../Where/Single_Enumerator.cs | 49 ++ .../Where/Single_Executor.cs | 54 ++ .../Where/Single_Property.cs | 53 ++ .../Where/Single_ThenQuery_Enumerator.cs | 66 +++ .../Where/Single_ThenQuery_Executor.cs | 63 ++ .../Z.Test.EntityFramework.Plus.EF5.csproj | 50 +- .../_Helper/Extensions/StringExtensions.cs | 19 + .../Extensions/TestContextExtensions.cs | 51 ++ .../_Model/Entity_Basic_WithString.cs | 18 + .../_Model/Inheritance_TPT_Animal.cs | 3 +- .../_Model/Inheritance_TPT_Cat.cs | 2 +- .../_Model/Inheritance_TPT_Dog.cs | 2 +- .../_Model/_TestContext.cs | 116 +--- .../packages.config | 2 - .../App.config | 2 +- .../Configuration_IncludeProperty/Single.cs | 1 - .../BatchDelete/BatchDelete_Inheritance.cs | 16 + .../BatchDelete/Executing/Template.cs | 2 +- .../Executing/WhileDelayTemplate.cs | 2 +- .../BatchDelete/Executing/WhileTemplate.cs | 2 +- .../Inheritance/BatchDelete_Inheritance.cs | 246 ++++++++ .../BatchDelete/Visitor/Skip.cs | 2 +- .../BatchDelete/Visitor/Take.cs | 2 +- .../BatchUpdate/BatchUpdate_Inheritance.cs | 16 + .../Inheritance/BatchUpdate_Inheritance.cs | 168 ++++++ .../ForceFirstTagAsCacheKey/Many.cs | 41 -- .../ForceFirstTagAsCacheKey/None.cs | 47 -- .../QueryDelayed_WithDefault.cs} | 28 +- .../FromCache/QueryDelayed_WithExpiration.cs | 45 ++ .../QueryDelayed_WithDefault.cs} | 28 +- .../QueryDelayed_WithExpiration.cs | 45 ++ .../QueryCache/UseFirstTagAsCacheKey/None.cs | 2 - .../QueryCache/UseTagsAsCacheKey/None.cs | 2 - .../Z.Test.EntityFramework.Plus.EF6.csproj | 16 +- .../_Helper/Extensions/StringExtensions.cs | 19 + .../Extensions/TestContextExtensions.cs | 50 ++ .../_Model/Inheritance_TPT_Animal.cs | 3 +- .../_Model/Inheritance_TPT_Cat.cs | 2 +- .../_Model/Inheritance_TPT_Dog.cs | 2 +- .../_Model/_TestContext.cs | 109 +--- .../packages.config | 2 - .../App.config | 58 +- .../BatchDelete/BatchDelete_Inheritance.cs | 16 + .../Inheritance/BatchDelete_Inheritance.cs | 150 +++++ .../BatchUpdate/BatchUpdate_Inheritance.cs | 16 + .../Inheritance/BatchUpdate_Inheritance.cs | 124 ++++ .../QueryCache/UseFirstTagAsCacheKey/None.cs | 2 - .../QueryCache/UseTagsAsCacheKey/None.cs | 2 - .../Future/Queryable_AsNoTracking.cs | 6 - .../FutureValue/DelayedQuery_AsNoTracking.cs | 6 - .../FutureValue/Queryable_AsNoTracking.cs | 7 - ...tyFramework.Plus.EFCore.NETStandard.csproj | 15 + .../Z.Test.EntityFramework.Plus.EFCore.csproj | 170 +++--- .../Extensions/TestContextExtensions.cs | 50 ++ .../_Model/Inheritance_TPT_Animal.cs | 3 +- .../_Model/Inheritance_TPT_Cat.cs | 2 +- .../_Model/Inheritance_TPT_Dog.cs | 2 +- .../_Model/Methods/DeleteAll.cs | 14 +- .../_Model/_TestContext.cs | 406 ++++--------- .../_Model/_TestContextMemory.cs | 172 +----- .../packages.config | 121 ++-- 162 files changed, 5966 insertions(+), 1661 deletions(-) create mode 100644 src/Z.EntityFramework.Plus.EF5.sln create mode 100644 src/Z.EntityFramework.Plus.EF6.sln create mode 100644 src/Z.EntityFramework.Plus.EFCore.NET451.sln create mode 100644 src/Z.EntityFramework.Plus.EFCore.NET451/app.config create mode 100644 src/Z.EntityFramework.Plus.EFCore.NETStandard.sln create mode 100644 src/shared/Z.EF.Plus.BatchUpdate.Shared/Extensions/DbModelPlusExtentions.cs create mode 100644 src/shared/Z.EF.Plus.BatchUpdate.Shared/Model/TableDefinition.cs create mode 100644 src/shared/Z.EF.Plus._Core.Shared/Extensions/DbModelPlusExtentions.cs create mode 100644 src/shared/Z.EF.Plus._Core.Shared/Model/Extensions/TableDefinition.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/Audit/Audit_Configuration_UseNullForDBNullValue.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/Audit/Configuration_UseNullForDBNullValue/EntityAdded_IsFalse.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/Audit/Configuration_UseNullForDBNullValue/EntityAdded_IsTrue.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/Audit/Configuration_UseNullForDBNullValue/EntityModified_IsFalse.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/Audit/Configuration_UseNullForDBNullValue/EntityModified_IsTrue.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/BatchDelete/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/BatchDelete/Inheritance/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/BatchUpdate/BatchUpdate_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/BatchUpdate/Inheritance/BatchUpdate_Inheritance.cs delete mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryCache/ForceFirstTagAsCacheKey/None.cs delete mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryCache/ForceFirstTagAsCacheKey/Single.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/ManyFilter_ManyParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/ManyFilter_NoParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/ManyFilter_SingleParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/SingleFilter_ManyParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/SingleFilter_NoParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryFilter/DbContext_Filter/WithParameter/SingleFilter_SingleParameter.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/LeftEmpty_Many_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/LeftEmpty_Many_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/LeftEmpty_Single_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/LeftEmpty_Single_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/RightEmpty_Many_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/RightEmpty_Many_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/RightEmpty_Single_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Empty/RightEmpty_Single_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/FirstWithPredicate/Many_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/FirstWithPredicate/Many_ThenQuery_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/FirstWithPredicate/Single_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/FirstWithPredicate/Single_ThenQuery_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_Empty.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_FirstWithPredicate.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_FirstWithPredicate_Async.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_IncludeEF.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_Where.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/QueryIncludeFilter_Where_Async.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Many_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Many_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Many_Property.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Many_ThenQuery_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Many_ThenQuery_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Single_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Single_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Single_Property.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Single_ThenQuery_Enumerator.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/QueryIncludeFilter/Where/Single_ThenQuery_Executor.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/_Helper/Extensions/StringExtensions.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/_Helper/Extensions/TestContextExtensions.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF5/_Model/Entity_Basic_WithString.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/BatchDelete/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/BatchDelete/Inheritance/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/BatchUpdate/BatchUpdate_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/BatchUpdate/Inheritance/BatchUpdate_Inheritance.cs delete mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/QueryCache/ForceFirstTagAsCacheKey/Many.cs delete mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/QueryCache/ForceFirstTagAsCacheKey/None.cs rename src/test/Z.Test.EntityFramework.Plus.EF6/QueryCache/{ForceFirstTagAsCacheKey/Single.cs => FromCache/QueryDelayed_WithDefault.cs} (51%) create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/QueryCache/FromCache/QueryDelayed_WithExpiration.cs rename src/test/{Z.Test.EntityFramework.Plus.EF5/QueryCache/ForceFirstTagAsCacheKey/Many.cs => Z.Test.EntityFramework.Plus.EF6/QueryCache/FromCacheAsync/QueryDelayed_WithDefault.cs} (50%) create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/QueryCache/FromCacheAsync/QueryDelayed_WithExpiration.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/_Helper/Extensions/StringExtensions.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EF6/_Helper/Extensions/TestContextExtensions.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/BatchDelete/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/BatchDelete/Inheritance/BatchDelete_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/BatchUpdate/BatchUpdate_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/BatchUpdate/Inheritance/BatchUpdate_Inheritance.cs create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/Z.Test.EntityFramework.Plus.EFCore.NETStandard.csproj create mode 100644 src/test/Z.Test.EntityFramework.Plus.EFCore/_Helper/Extensions/TestContextExtensions.cs diff --git a/.gitignore b/.gitignore index 77845e48..e149ced9 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ _ReSharper.* *.ReSharper.user *.resharper.user *.pfx +/src/.vs diff --git a/src/Z.EntityFramework.Plus.EF5.NET40/Z.EntityFramework.Plus.EF5.NET40.csproj b/src/Z.EntityFramework.Plus.EF5.NET40/Z.EntityFramework.Plus.EF5.NET40.csproj index 31767f0a..ca37ce2d 100644 --- a/src/Z.EntityFramework.Plus.EF5.NET40/Z.EntityFramework.Plus.EF5.NET40.csproj +++ b/src/Z.EntityFramework.Plus.EF5.NET40/Z.EntityFramework.Plus.EF5.NET40.csproj @@ -35,7 +35,7 @@ - ..\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll + $(SolutionDir)\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll False diff --git a/src/Z.EntityFramework.Plus.EF5.sln b/src/Z.EntityFramework.Plus.EF5.sln new file mode 100644 index 00000000..18b3c3f6 --- /dev/null +++ b/src/Z.EntityFramework.Plus.EF5.sln @@ -0,0 +1,104 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26430.6 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{14D8985E-0AA8-444A-A32E-D766ABA114D6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{45D50C58-9B18-475A-9839-D6754E87352B}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus._Core.Shared", "shared\Z.EF.Plus._Core.Shared\Z.EF.Plus._Core.Shared.shproj", "{27CBB38C-9814-4251-B919-905514D6D8A0}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus._ExceptionMessage.Shared", "shared\Z.EF.Plus._ExceptionMessage.Shared\Z.EF.Plus._ExceptionMessage.Shared.shproj", "{9D4357AC-9E62-4CF0-AE5E-29142CFC0A97}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.Audit.Shared", "shared\Z.EF.Plus.Audit.Shared\Z.EF.Plus.Audit.Shared.shproj", "{6BFA5473-A429-4F9E-AA40-1387716DE22D}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.BatchDelete.Shared", "shared\Z.EF.Plus.BatchDelete.Shared\Z.EF.Plus.BatchDelete.Shared.shproj", "{5B3FA372-A872-4CA1-B7C0-5352052AC75A}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.BatchUpdate.Shared", "shared\Z.EF.Plus.BatchUpdate.Shared\Z.EF.Plus.BatchUpdate.Shared.shproj", "{CE6171C3-84CC-4AE1-82D0-CDAC97EF5AB2}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryCache.Shared", "shared\Z.EF.Plus.QueryCache.Shared\Z.EF.Plus.QueryCache.Shared.shproj", "{287A066E-6FCC-42B2-BACC-E24FAF056E4C}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryDeferred.Shared", "shared\Z.EF.Plus.QueryDeferred.Shared\Z.EF.Plus.QueryDeferred.Shared.shproj", "{B9FCE31E-4830-408C-95F0-447ACB0B7490}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryExtensions.Shared", "shared\Z.EF.Plus.QueryExtensions.Shared\Z.EF.Plus.QueryExtensions.Shared.shproj", "{C3DF9DE1-3C26-42C8-B972-902214161BD7}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryFilter.Shared", "shared\Z.EF.Plus.QueryFilter.Shared\Z.EF.Plus.QueryFilter.Shared.shproj", "{B8DB9C52-11B7-4D06-8E01-E25903F560CA}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryFilterInterceptor.Shared", "shared\Z.EF.Plus.QueryFilterInterceptor.Shared\Z.EF.Plus.QueryFilterInterceptor.Shared.shproj", "{6731E6CF-D2EA-4ED2-9B32-02C462271D80}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryFuture.Shared", "shared\Z.EF.Plus.QueryFuture.Shared\Z.EF.Plus.QueryFuture.Shared.shproj", "{5CA1ED0D-1322-49F0-920B-F0C4BA36560E}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryIncludeFilter.Shared", "shared\Z.EF.Plus.QueryIncludeFilter.Shared\Z.EF.Plus.QueryIncludeFilter.Shared.shproj", "{DC4C972B-6AE7-4620-B2CB-2AFD106E638B}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Z.EF.Plus.QueryIncludeOptimized.Shared", "shared\Z.EF.Plus.QueryIncludeOptimized.Shared\Z.EF.Plus.QueryIncludeOptimized.Shared.shproj", "{D1953D60-B322-4CAF-92DF-0581A1FD758F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Z.EntityFramework.Plus.EF5", "Z.EntityFramework.Plus.EF5\Z.EntityFramework.Plus.EF5.csproj", "{1B28EFB7-E679-4275-ACA9-DA7CD589A56A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Z.Test.EntityFramework.Plus.EF5", "test\Z.Test.EntityFramework.Plus.EF5\Z.Test.EntityFramework.Plus.EF5.csproj", "{149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + shared\Z.EF.Plus.Audit.Shared\Z.EF.Plus.Audit.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.BatchDelete.Shared\Z.EF.Plus.BatchDelete.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.BatchUpdate.Shared\Z.EF.Plus.BatchUpdate.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryCache.Shared\Z.EF.Plus.QueryCache.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryDeferred.Shared\Z.EF.Plus.QueryDeferred.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryExtensions.Shared\Z.EF.Plus.QueryExtensions.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryFilter.Shared\Z.EF.Plus.QueryFilter.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryFuture.Shared\Z.EF.Plus.QueryFuture.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryIncludeFilter.Shared\Z.EF.Plus.QueryIncludeFilter.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus.QueryIncludeOptimized.Shared\Z.EF.Plus.QueryIncludeOptimized.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus._Core.Shared\Z.EF.Plus._Core.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus._ExceptionMessage.Shared\Z.EF.Plus._ExceptionMessage.Shared.projitems*{1b28efb7-e679-4275-aca9-da7cd589a56a}*SharedItemsImports = 4 + shared\Z.EF.Plus._Core.Shared\Z.EF.Plus._Core.Shared.projitems*{27cbb38c-9814-4251-b919-905514d6d8a0}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryCache.Shared\Z.EF.Plus.QueryCache.Shared.projitems*{287a066e-6fcc-42b2-bacc-e24faf056e4c}*SharedItemsImports = 13 + shared\Z.EF.Plus.BatchDelete.Shared\Z.EF.Plus.BatchDelete.Shared.projitems*{5b3fa372-a872-4ca1-b7c0-5352052ac75a}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryFuture.Shared\Z.EF.Plus.QueryFuture.Shared.projitems*{5ca1ed0d-1322-49f0-920b-f0c4ba36560e}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryFilterInterceptor.Shared\Z.EF.Plus.QueryFilterInterceptor.Shared.projitems*{6731e6cf-d2ea-4ed2-9b32-02c462271d80}*SharedItemsImports = 13 + shared\Z.EF.Plus.Audit.Shared\Z.EF.Plus.Audit.Shared.projitems*{6bfa5473-a429-4f9e-aa40-1387716de22d}*SharedItemsImports = 13 + shared\Z.EF.Plus._ExceptionMessage.Shared\Z.EF.Plus._ExceptionMessage.Shared.projitems*{9d4357ac-9e62-4cf0-ae5e-29142cfc0a97}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryFilter.Shared\Z.EF.Plus.QueryFilter.Shared.projitems*{b8db9c52-11b7-4d06-8e01-e25903f560ca}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryDeferred.Shared\Z.EF.Plus.QueryDeferred.Shared.projitems*{b9fce31e-4830-408c-95f0-447acb0b7490}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryExtensions.Shared\Z.EF.Plus.QueryExtensions.Shared.projitems*{c3df9de1-3c26-42c8-b972-902214161bd7}*SharedItemsImports = 13 + shared\Z.EF.Plus.BatchUpdate.Shared\Z.EF.Plus.BatchUpdate.Shared.projitems*{ce6171c3-84cc-4ae1-82d0-cdac97ef5ab2}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryIncludeOptimized.Shared\Z.EF.Plus.QueryIncludeOptimized.Shared.projitems*{d1953d60-b322-4caf-92df-0581a1fd758f}*SharedItemsImports = 13 + shared\Z.EF.Plus.QueryIncludeFilter.Shared\Z.EF.Plus.QueryIncludeFilter.Shared.projitems*{dc4c972b-6ae7-4620-b2cb-2afd106e638b}*SharedItemsImports = 13 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B28EFB7-E679-4275-ACA9-DA7CD589A56A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1B28EFB7-E679-4275-ACA9-DA7CD589A56A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B28EFB7-E679-4275-ACA9-DA7CD589A56A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1B28EFB7-E679-4275-ACA9-DA7CD589A56A}.Release|Any CPU.Build.0 = Release|Any CPU + {149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {27CBB38C-9814-4251-B919-905514D6D8A0} = {45D50C58-9B18-475A-9839-D6754E87352B} + {9D4357AC-9E62-4CF0-AE5E-29142CFC0A97} = {45D50C58-9B18-475A-9839-D6754E87352B} + {6BFA5473-A429-4F9E-AA40-1387716DE22D} = {45D50C58-9B18-475A-9839-D6754E87352B} + {5B3FA372-A872-4CA1-B7C0-5352052AC75A} = {45D50C58-9B18-475A-9839-D6754E87352B} + {CE6171C3-84CC-4AE1-82D0-CDAC97EF5AB2} = {45D50C58-9B18-475A-9839-D6754E87352B} + {287A066E-6FCC-42B2-BACC-E24FAF056E4C} = {45D50C58-9B18-475A-9839-D6754E87352B} + {B9FCE31E-4830-408C-95F0-447ACB0B7490} = {45D50C58-9B18-475A-9839-D6754E87352B} + {C3DF9DE1-3C26-42C8-B972-902214161BD7} = {45D50C58-9B18-475A-9839-D6754E87352B} + {B8DB9C52-11B7-4D06-8E01-E25903F560CA} = {45D50C58-9B18-475A-9839-D6754E87352B} + {6731E6CF-D2EA-4ED2-9B32-02C462271D80} = {45D50C58-9B18-475A-9839-D6754E87352B} + {5CA1ED0D-1322-49F0-920B-F0C4BA36560E} = {45D50C58-9B18-475A-9839-D6754E87352B} + {DC4C972B-6AE7-4620-B2CB-2AFD106E638B} = {45D50C58-9B18-475A-9839-D6754E87352B} + {D1953D60-B322-4CAF-92DF-0581A1FD758F} = {45D50C58-9B18-475A-9839-D6754E87352B} + {149EC03D-4F7D-4EBA-9F24-0777FB7AB7F2} = {14D8985E-0AA8-444A-A32E-D766ABA114D6} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AEE441E3-DEE9-48F2-9212-1F3A573007AE} + EndGlobalSection +EndGlobal diff --git a/src/Z.EntityFramework.Plus.EF5/Z.EntityFramework.Plus.EF5.csproj b/src/Z.EntityFramework.Plus.EF5/Z.EntityFramework.Plus.EF5.csproj index 061cb3f9..f0e4e011 100644 --- a/src/Z.EntityFramework.Plus.EF5/Z.EntityFramework.Plus.EF5.csproj +++ b/src/Z.EntityFramework.Plus.EF5/Z.EntityFramework.Plus.EF5.csproj @@ -38,7 +38,7 @@ - ..\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll + $(SolutionDir)\packages\EntityFramework.5.0.0\lib\net45\EntityFramework.dll @@ -68,6 +68,7 @@ +