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.