diff --git a/PoweredSoft.DynamicLinq.ConsoleApp/App.config b/PoweredSoft.DynamicLinq.ConsoleApp/App.config index b50c74f..4bfa005 100644 --- a/PoweredSoft.DynamicLinq.ConsoleApp/App.config +++ b/PoweredSoft.DynamicLinq.ConsoleApp/App.config @@ -1,6 +1,6 @@ - + - + - \ No newline at end of file + diff --git a/PoweredSoft.DynamicLinq.ConsoleApp/PoweredSoft.DynamicLinq.ConsoleApp.csproj b/PoweredSoft.DynamicLinq.ConsoleApp/PoweredSoft.DynamicLinq.ConsoleApp.csproj index f60bcbc..1b81c79 100644 --- a/PoweredSoft.DynamicLinq.ConsoleApp/PoweredSoft.DynamicLinq.ConsoleApp.csproj +++ b/PoweredSoft.DynamicLinq.ConsoleApp/PoweredSoft.DynamicLinq.ConsoleApp.csproj @@ -8,9 +8,10 @@ Exe PoweredSoft.DynamicLinq.ConsoleApp PoweredSoft.DynamicLinq.ConsoleApp - v4.6.2 + v4.8 512 true + AnyCPU @@ -53,10 +54,6 @@ {c16927e7-1358-4b9d-bdd7-149e505de6cc} PoweredSoft.DynamicLinq.Dal - - {6f5c80f0-9045-4098-913f-7bdad135e6dd} - PoweredSoft.DynamicLinq.Test - {5bb7e50f-8b40-4512-88dc-4b3bd89c9a5e} PoweredSoft.DynamicLinq diff --git a/PoweredSoft.DynamicLinq.ConsoleApp/Program.cs b/PoweredSoft.DynamicLinq.ConsoleApp/Program.cs index 2fc0be0..394313d 100644 --- a/PoweredSoft.DynamicLinq.ConsoleApp/Program.cs +++ b/PoweredSoft.DynamicLinq.ConsoleApp/Program.cs @@ -14,8 +14,7 @@ namespace PoweredSoft.DynamicLinq.ConsoleApp { static void Main(string[] args) { - var selectTests = new SelectTests(); - selectTests.SelectNullChecking2(); + } } diff --git a/PoweredSoft.DynamicLinq.Dal/BlogContext.cs b/PoweredSoft.DynamicLinq.Dal/BlogContext.cs index c6a1ae1..f4131bc 100644 --- a/PoweredSoft.DynamicLinq.Dal/BlogContext.cs +++ b/PoweredSoft.DynamicLinq.Dal/BlogContext.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; namespace PoweredSoft.DynamicLinq.Dal { + public class BlogContext : DbContext { public DbSet Authors { get; set; } diff --git a/PoweredSoft.DynamicLinq.Dal/BlogCoreContext.cs b/PoweredSoft.DynamicLinq.Dal/BlogCoreContext.cs new file mode 100644 index 0000000..ad6f430 --- /dev/null +++ b/PoweredSoft.DynamicLinq.Dal/BlogCoreContext.cs @@ -0,0 +1,22 @@ +using PoweredSoft.DynamicLinq.Dal.Pocos; +using Microsoft.EntityFrameworkCore; +using JetBrains.Annotations; +using System.Diagnostics.CodeAnalysis; + +namespace PoweredSoft.DynamicLinq.Dal +{ + public class BlogCoreContext : DbContext + { + public BlogCoreContext([NotNull] DbContextOptions options) : base(options) + { + } + + protected BlogCoreContext() + { + } + + public DbSet Authors { get; set; } + public DbSet Comments { get; set; } + public DbSet Posts { get; set; } + } +} diff --git a/PoweredSoft.DynamicLinq.Dal/PoweredSoft.DynamicLinq.Dal.csproj b/PoweredSoft.DynamicLinq.Dal/PoweredSoft.DynamicLinq.Dal.csproj index edbf788..abac85a 100644 --- a/PoweredSoft.DynamicLinq.Dal/PoweredSoft.DynamicLinq.Dal.csproj +++ b/PoweredSoft.DynamicLinq.Dal/PoweredSoft.DynamicLinq.Dal.csproj @@ -1,67 +1,21 @@ - - - + + - Debug - AnyCPU - {C16927E7-1358-4B9D-BDD7-149E505DE6CC} - Library - Properties - PoweredSoft.DynamicLinq.Dal - PoweredSoft.DynamicLinq.Dal - v4.6.2 - 512 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + netstandard2.1 + - - ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll - - - - - - - - - - + + + + - - - - - - - - - + - + - - + - - \ No newline at end of file + + diff --git a/PoweredSoft.DynamicLinq.Dal/Properties/AssemblyInfo.cs b/PoweredSoft.DynamicLinq.Dal/Properties/AssemblyInfo.cs deleted file mode 100644 index d30d914..0000000 --- a/PoweredSoft.DynamicLinq.Dal/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("PoweredSoft.DynamicLinq.Dal")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("PoweredSoft.DynamicLinq.Dal")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("c16927e7-1358-4b9d-bdd7-149e505de6cc")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PoweredSoft.DynamicLinq.EntityFramework/PoweredSoft.DynamicLinq.EntityFramework.csproj b/PoweredSoft.DynamicLinq.EntityFramework/PoweredSoft.DynamicLinq.EntityFramework.csproj index a9fabb7..1a92c08 100644 --- a/PoweredSoft.DynamicLinq.EntityFramework/PoweredSoft.DynamicLinq.EntityFramework.csproj +++ b/PoweredSoft.DynamicLinq.EntityFramework/PoweredSoft.DynamicLinq.EntityFramework.csproj @@ -1,7 +1,7 @@  - netstandard2.0 + netstandard2.1;net461 True David Lebee Powered Software Inc. @@ -10,9 +10,9 @@ https://github.com/PoweredSoft/DynamicLinq entity framework ef dynamic linq https://github.com/PoweredSoft/DynamicLinq - 1.1.8 - 1.1.8.0 - 1.1.8.0 + 1.1.9 + 1.1.9.0 + 1.1.9.0 EF Integration of DynamicLinq PoweredSoft.DynamicLinq.EntityFramework Added Negate & NotContains @@ -20,7 +20,7 @@ - + diff --git a/PoweredSoft.DynamicLinq.EntityFramework/packages.config b/PoweredSoft.DynamicLinq.EntityFramework/packages.config deleted file mode 100644 index 02a4d9b..0000000 --- a/PoweredSoft.DynamicLinq.EntityFramework/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/PoweredSoft.DynamicLinq.EntityFrameworkCore/Extensions/DbContextExtensions.cs b/PoweredSoft.DynamicLinq.EntityFrameworkCore/Extensions/DbContextExtensions.cs new file mode 100644 index 0000000..6933867 --- /dev/null +++ b/PoweredSoft.DynamicLinq.EntityFrameworkCore/Extensions/DbContextExtensions.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; +using PoweredSoft.DynamicLinq.Fluent; + +namespace PoweredSoft.DynamicLinq.EntityFrameworkCore +{ + public static class DbContextExtensions + { + private static MethodInfo SetMethod = typeof(DbContext).GetMethod(nameof(DbContext.Set), BindingFlags.Public | BindingFlags.Instance); + + public static IQueryable Query(this DbContext context, Type pocoType, Action callback) + { + var set = SetMethod.MakeGenericMethod(pocoType).Invoke(context, new object[] { }); + var queryable = set as IQueryable; + var builder = new WhereBuilder(queryable); + callback(builder); + var result = builder.Build(); + return result; + } + + public static IQueryable Query(this DbContext context, Action callback) + where T : class + { + var query = context.Set().AsQueryable(); + query = query.Query(callback); + return query; + } + + public static IQueryable Where(this DbContext context, Type pocoType, Action callback) + => context.Query(pocoType, callback); + + public static IQueryable Where(this DbContext context, Action callback) + where T : class => context.Query(callback); + } +} diff --git a/PoweredSoft.DynamicLinq.EntityFrameworkCore/PoweredSoft.DynamicLinq.EntityFrameworkCore.csproj b/PoweredSoft.DynamicLinq.EntityFrameworkCore/PoweredSoft.DynamicLinq.EntityFrameworkCore.csproj new file mode 100644 index 0000000..532027d --- /dev/null +++ b/PoweredSoft.DynamicLinq.EntityFrameworkCore/PoweredSoft.DynamicLinq.EntityFrameworkCore.csproj @@ -0,0 +1,31 @@ + + + + netstandard2.1 + True + David Lebee + Powered Software Inc. + Entity Framework extensions for Dynamic Linq of PoweredSoft + github + https://github.com/PoweredSoft/DynamicLinq + entity framework core efcore ef dynamic linq + https://github.com/PoweredSoft/DynamicLinq + 1.1.9 + 1.1.9.0 + 1.1.9.0 + EF Integration of DynamicLinq + PoweredSoft.DynamicLinq.EntityFrameworkCore + First Release of efcore extensions + False + + + + + + + + + + + + diff --git a/PoweredSoft.DynamicLinq.Test/App.config b/PoweredSoft.DynamicLinq.Test/App.config new file mode 100644 index 0000000..a6a2b7f --- /dev/null +++ b/PoweredSoft.DynamicLinq.Test/App.config @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/PoweredSoft.DynamicLinq.Test/EntityFrameworkCoreTests.cs b/PoweredSoft.DynamicLinq.Test/EntityFrameworkCoreTests.cs new file mode 100644 index 0000000..ff215b4 --- /dev/null +++ b/PoweredSoft.DynamicLinq.Test/EntityFrameworkCoreTests.cs @@ -0,0 +1,198 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using PoweredSoft.DynamicLinq.Dal; +using PoweredSoft.DynamicLinq.Dal.Pocos; +using PoweredSoft.DynamicLinq; +using Microsoft.EntityFrameworkCore; +using PoweredSoft.DynamicLinq.EntityFrameworkCore; + +namespace PoweredSoft.DynamicLinq.Test +{ + [TestClass] + public class EntityFrameworkCoreTests + { + + private BlogCoreContext GetCoreContext(string testName) + { + var options = new DbContextOptionsBuilder() + .UseInMemoryDatabase(databaseName: testName).Options; + return new BlogCoreContext(options); + } + + + public static void SeedForTests(BlogCoreContext context) + { + context.Authors.Add(new Author + { + FirstName = "David", + LastName = "Lebee", + Posts = new List() + { + new Post() + { + CreateTime = DateTimeOffset.Now, + PublishTime = DateTimeOffset.Now, + Title = "New project", + Content = "Lots of good things coming", + Comments = new List() + { + new Comment() + { + DisplayName = "John Doe", + Email = "john.doe@me.com", + CommentText = "Very interesting", + }, + new Comment() + { + DisplayName = "Nice Guy", + Email = "nice.guy@lol.com", + CommentText = "Best of luck!" + } + } + }, + new Post() + { + CreateTime = DateTimeOffset.Now, + PublishTime = null, + Title = "The future!", + Content = "Is Near" + } + } + }); + + context.Authors.Add(new Author + { + FirstName = "Some", + LastName = "Dude", + Posts = new List() + { + new Post() { + CreateTime = DateTimeOffset.Now, + PublishTime = DateTimeOffset.Now, + Title = "The One", + Content = "And Only" + }, + new Post() + { + CreateTime = DateTimeOffset.Now, + PublishTime = DateTimeOffset.Now, + Title = "The Two", + Content = "And Second" + } + } + }); + + context.SaveChanges(); + } + + [TestMethod] + public void TestSimpleWhere() + { + var context = GetCoreContext(nameof(TestSimpleWhere)); + SeedForTests(context); + + var query = context.Authors.AsQueryable(); + query = query.Where("FirstName", ConditionOperators.Equal, "David"); + var author = query.FirstOrDefault(); + Assert.IsNotNull(author); + } + [TestMethod] + public void TestWhereAnd() + { + var context = GetCoreContext(nameof(TestWhereAnd)); + SeedForTests(context); + + var query = context.Authors.AsQueryable(); + query = query.Query(q => q + .Compare("FirstName", ConditionOperators.Equal, "David") + .And("LastName", ConditionOperators.Equal, "Lebee") + ); + + var author = query.FirstOrDefault(); + Assert.IsNotNull(author); + } + + [TestMethod] + public void TestWhereOr() + { + var context = GetCoreContext(nameof(TestWhereOr)); + SeedForTests(context); + + var query = context.Authors.AsQueryable(); + query = query.Query(q => q + .Compare("FirstName", ConditionOperators.Equal, "David") + .Or("FirstName", ConditionOperators.Equal, "Some") + ); + + var author = query.FirstOrDefault(); + Assert.IsNotNull(author); + } + + [TestMethod] + public void TestGoingThroughSimpleNav() + { + var context = GetCoreContext(nameof(TestGoingThroughSimpleNav)); + SeedForTests(context); + + var query = context.Posts.AsQueryable(); + query = query.Include("Author").Where("Author.FirstName", ConditionOperators.Contains, "David"); + var post = query.FirstOrDefault(); + Assert.AreEqual("David", post?.Author?.FirstName); + } + + [TestMethod] + public void TestGoingThroughCollectionNav() + { + var context = GetCoreContext(nameof(TestGoingThroughCollectionNav)); + SeedForTests(context); + + var query = context.Authors.AsQueryable(); + query = query.Where("Posts.Title", ConditionOperators.Contains, "New"); + var author = query.FirstOrDefault(); + + Assert.AreEqual(author?.FirstName, "David"); + } + + [TestMethod] + public void TestGoingThrough2CollectionNav() + { + var context = GetCoreContext(nameof(TestGoingThrough2CollectionNav)); + SeedForTests(context); + + var query = context.Authors.AsQueryable(); + query = query.Where("Posts.Comments.Email", ConditionOperators.Contains, "@me.com"); + var author = query.FirstOrDefault(); + + Assert.AreEqual(author?.FirstName, "David"); + } + + [TestMethod] + public void TestSort() + { + var context = GetCoreContext(nameof(TestSort)); + SeedForTests(context); + + var query = context.Posts.AsQueryable(); + var dq = query.OrderBy("Title").ThenByDescending("Content").ToList(); + var sq = query.OrderBy(t => t.Title).ThenByDescending(t => t.Content).ToList(); + + Assert.AreEqual(dq.Count, sq.Count); + for (var i = 0; i < dq.Count; i++) + Assert.AreEqual(dq[i].Id, sq[i].Id); + } + + [TestMethod] + public void TestContextTypeLessHelper() + { + var context = GetCoreContext(nameof(TestContextTypeLessHelper)); + SeedForTests(context); + + var queryable = context.Query(typeof(Author), q => q.Compare("FirstName", ConditionOperators.Equal, "David")); + var result = queryable.ToObjectList(); + var first = result.FirstOrDefault() as Author; + Assert.AreEqual(first?.FirstName, "David"); + } + } +} diff --git a/PoweredSoft.DynamicLinq.Test/GetCoreContext.cs b/PoweredSoft.DynamicLinq.Test/GetCoreContext.cs new file mode 100644 index 0000000..a9089d9 --- /dev/null +++ b/PoweredSoft.DynamicLinq.Test/GetCoreContext.cs @@ -0,0 +1,12 @@ +namespace PoweredSoft.DynamicLinq.Test +{ + internal class GetCoreContext + { + private string v; + + public GetCoreContext(string v) + { + this.v = v; + } + } +} \ No newline at end of file diff --git a/PoweredSoft.DynamicLinq.Test/PoweredSoft.DynamicLinq.Test.csproj b/PoweredSoft.DynamicLinq.Test/PoweredSoft.DynamicLinq.Test.csproj index 707be9c..de0992e 100644 --- a/PoweredSoft.DynamicLinq.Test/PoweredSoft.DynamicLinq.Test.csproj +++ b/PoweredSoft.DynamicLinq.Test/PoweredSoft.DynamicLinq.Test.csproj @@ -1,109 +1,25 @@ - - - + + - Debug - AnyCPU - {6F5C80F0-9045-4098-913F-7BDAD135E6DD} - Library - Properties - PoweredSoft.DynamicLinq.Test - PoweredSoft.DynamicLinq.Test - v4.6.2 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 15.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + netcoreapp3.0 + - - ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll - - - ..\packages\Faker.Data.1.0.7\lib\net45\Faker.dll - - - ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll - - - ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll - - - ..\packages\PoweredSoft.Types.1.0.0\lib\netstandard2.0\PoweredSoft.Types.dll - - - - - + + + + + - - - - - - - - - - - - - - - + + - + + + + - - - {C16927E7-1358-4B9D-BDD7-149E505DE6CC} - PoweredSoft.DynamicLinq.Dal - - - {15587e3c-d4bb-474c-a4ac-4e6305f92bce} - PoweredSoft.DynamicLinq.EntityFramework - - - {2abc5a60-b549-4ecd-bef4-31ca7ba4ef06} - PoweredSoft.DynamicLinq - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - \ No newline at end of file + + diff --git a/PoweredSoft.DynamicLinq.Test/Properties/AssemblyInfo.cs b/PoweredSoft.DynamicLinq.Test/Properties/AssemblyInfo.cs deleted file mode 100644 index 33a9eed..0000000 --- a/PoweredSoft.DynamicLinq.Test/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("PoweredSoft.DynamicLinq.Test")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("PoweredSoft.DynamicLinq.Test")] -[assembly: AssemblyCopyright("Copyright © 2018")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -[assembly: ComVisible(false)] - -[assembly: Guid("6f5c80f0-9045-4098-913f-7bdad135e6dd")] - -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/PoweredSoft.DynamicLinq.Test/packages.config b/PoweredSoft.DynamicLinq.Test/packages.config deleted file mode 100644 index 1ca1128..0000000 --- a/PoweredSoft.DynamicLinq.Test/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/PoweredSoft.DynamicLinq.sln b/PoweredSoft.DynamicLinq.sln index 7a16ce5..e77583d 100644 --- a/PoweredSoft.DynamicLinq.sln +++ b/PoweredSoft.DynamicLinq.sln @@ -1,24 +1,24 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2036 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29503.13 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PoweredSoft.DynamicLinq", "PoweredSoft.DynamicLinq\PoweredSoft.DynamicLinq.csproj", "{5BB7E50F-8B40-4512-88DC-4B3BD89C9A5E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoweredSoft.DynamicLinq.Test", "PoweredSoft.DynamicLinq.Test\PoweredSoft.DynamicLinq.Test.csproj", "{6F5C80F0-9045-4098-913F-7BDAD135E6DD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PoweredSoft.DynamicLinq.Test", "PoweredSoft.DynamicLinq.Test\PoweredSoft.DynamicLinq.Test.csproj", "{6F5C80F0-9045-4098-913F-7BDAD135E6DD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoweredSoft.DynamicLinq.Dal", "PoweredSoft.DynamicLinq.Dal\PoweredSoft.DynamicLinq.Dal.csproj", "{C16927E7-1358-4B9D-BDD7-149E505DE6CC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PoweredSoft.DynamicLinq.Dal", "PoweredSoft.DynamicLinq.Dal\PoweredSoft.DynamicLinq.Dal.csproj", "{C16927E7-1358-4B9D-BDD7-149E505DE6CC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PoweredSoft.DynamicLinq.EntityFramework", "PoweredSoft.DynamicLinq.EntityFramework\PoweredSoft.DynamicLinq.EntityFramework.csproj", "{82DADDB0-4A69-4E19-82AD-E73ABC8F1B4A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoweredSoft.DynamicLinq.ConsoleApp", "PoweredSoft.DynamicLinq.ConsoleApp\PoweredSoft.DynamicLinq.ConsoleApp.csproj", "{A166BD89-7BF3-475B-871F-294B8A420D9E}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{77B4027B-ECB0-4ED1-8646-025AC4146CE2}" ProjectSection(SolutionItems) = preProject LICENSE = LICENSE README.md = README.md EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PoweredSoft.DynamicLinq.EntityFrameworkCore", "PoweredSoft.DynamicLinq.EntityFrameworkCore\PoweredSoft.DynamicLinq.EntityFrameworkCore.csproj", "{BBF5805B-560C-474B-885B-9202281B42F7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -41,10 +41,10 @@ Global {82DADDB0-4A69-4E19-82AD-E73ABC8F1B4A}.Debug|Any CPU.Build.0 = Debug|Any CPU {82DADDB0-4A69-4E19-82AD-E73ABC8F1B4A}.Release|Any CPU.ActiveCfg = Release|Any CPU {82DADDB0-4A69-4E19-82AD-E73ABC8F1B4A}.Release|Any CPU.Build.0 = Release|Any CPU - {A166BD89-7BF3-475B-871F-294B8A420D9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A166BD89-7BF3-475B-871F-294B8A420D9E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A166BD89-7BF3-475B-871F-294B8A420D9E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A166BD89-7BF3-475B-871F-294B8A420D9E}.Release|Any CPU.Build.0 = Release|Any CPU + {BBF5805B-560C-474B-885B-9202281B42F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BBF5805B-560C-474B-885B-9202281B42F7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BBF5805B-560C-474B-885B-9202281B42F7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BBF5805B-560C-474B-885B-9202281B42F7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PoweredSoft.DynamicLinq/PoweredSoft.DynamicLinq.csproj b/PoweredSoft.DynamicLinq/PoweredSoft.DynamicLinq.csproj index 7148a73..1d70f97 100644 --- a/PoweredSoft.DynamicLinq/PoweredSoft.DynamicLinq.csproj +++ b/PoweredSoft.DynamicLinq/PoweredSoft.DynamicLinq.csproj @@ -11,9 +11,9 @@ https://github.com/PoweredSoft/DynamicLinq github dynamic linq queryable - 1.1.8.0 - 1.1.8.0 - 1.1.8 + 1.1.9.0 + 1.1.9.0 + 1.1.9 https://github.com/PoweredSoft/DynamicLinq PoweredSoft.DynamicLinq Added not contains thanks to Jon-Galloway.