To understand the whole process of working with EasyQuery, we recommend installing demo projects from the EasyQuery Samples repository on GitHub. You will be able to try different scenarios and find out how the functionality works.
You can find detailed instructions on how to set up and start demo projects in the ReadMe document on this GitHub repository.
Here we suppose that we have ASP.NET Core web project with MVC/Razor as a view engine and EntityFramework Core used for data access. The described approach will work well (with some changes) for Razor Pages.
Here are the packages you will need to add to your project:
Korzh.DbExport(optional, only if you plan to use exporting functionality)
You can do it either using Nuget Package Manager or Nuget Package Console in Visual Studio. You can also use
dotnet command from the console.
Here is the example of adding packages using .NET Core CLI (please note that you have to run these command from the project's folder):
dotnet add package Korzh.EasyQuery.AspNetCore dotnet add package Korzh.EasyQuery.EntityFrameworkCore.Relational
.NET Core has a new and convenient template system. So, we prepared a special template package which allows you to scaffold an EasyQuery controller and view very quickly.
First, you need to install that template package.
dotnet new --install Korzh.EasyQuery.AspNetCoreTemplates::*
dotnet new eq.view.advsearch --DbContextName YourDbContextClassName
(as on the step #1 - this command must be run from the project's folder).
The new EasyQueryController.cs file (you can rename it later) will be created in Controllers folder, and the new EasyQuery.cshtml view file - in Views\EasyQuery folder.
The controller is almost ready to run - you just need to add
using statement to your DbContext namespace to make it compilable.
The final step will be to register EasyQuery services in the dependency injection container in your project.
Just open your Startup.cs file and add the following line at the end of
That's it. Build and run your project. When it's started - open
/EasyQuery URL to test new page for advanced search.