Synercoding.HostExtensions
1.0.0-alpha02
dotnet add package Synercoding.HostExtensions --version 1.0.0-alpha02
NuGet\Install-Package Synercoding.HostExtensions -Version 1.0.0-alpha02
<PackageReference Include="Synercoding.HostExtensions" Version="1.0.0-alpha02" />
paket add Synercoding.HostExtensions --version 1.0.0-alpha02
#r "nuget: Synercoding.HostExtensions, 1.0.0-alpha02"
// Install Synercoding.HostExtensions as a Cake Addin #addin nuget:?package=Synercoding.HostExtensions&version=1.0.0-alpha02&prerelease // Install Synercoding.HostExtensions as a Cake Tool #tool nuget:?package=Synercoding.HostExtensions&version=1.0.0-alpha02&prerelease
Usages
Most of the tasks are build so the can be executed in sync and async code. Before calling Run
or RunAsync
on the IHost
, you can call the different extension methods.
If you are for example running a website using EF Core & migrations:
- You can call
ExecuteOnDevelopment
(from Synercoding.HostExtensions) with in it a call toMigrateDbContext
(from Synercoding.HostExtensions.EntityFrameworkCore) and execute the development seed method. - If the environment isn't development, but instead testing, then the testseed will be executed.
- And if non of those apply, only the migration will be executed.
public class Program
{
public static async Task Main(string[] args)
{
await CreateHostBuilder(args)
.Build()
.ExecuteOnDevelopment(host => host.MigrateDbContext<MyContext>(DevelopmentSeeder))
.ElseIf(host => IsTestingEnvironment(host), host => host.MigrateDbContext<MyContext>(TestingSeeder))
.Else(host => host.MigrateDbContext<MyContext>())
.RunAsync();
}
private static bool IsTestingEnvironment(IHost host)
=> host.Services.GetRequiredService<IHostEnvironment>().IsEnvironment("Testing");
private static Task DevelopmentSeeder(MyContext context, IServiceProvider services)
{
// Development seed method here
return Task.CompletedTask;
}
private static Task TestingSeeder(MyContext context, IServiceProvider services)
{
// Testing seed method here
return Task.CompletedTask;
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Hosting.Abstractions (>= 3.1.4)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Synercoding.HostExtensions:
Package | Downloads |
---|---|
Synercoding.HostExtensions.EntityFrameworkCore
A library that contains extensions for Microsoft.Extensions.Hosting.IHost for EF Core. |
|
Synercoding.HostExtensions.EntityFramework
A library that contains extensions for Microsoft.Extensions.Hosting.IHost for EF. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-alpha02 | 631 | 5/18/2020 |
1.0.0-alpha01 | 270 | 5/18/2020 |
- Added .ElseIf and .Else extensions
- Added missing ExecuteIf async params combination overload