EntityFramework Core (EF Core) dans .NET - La meilleure documentation !

Tout le monde y va de son petit sample, de son exemple d'utilisation d'Entity Framework Core. Moi même j'ai pu décrire de temps en temps quelques commandes EF Core et puis je trouve la page ultime, celle qui remplace toutes les autres pages le site de la meilleure documentation sur Entity Framework Core.

La documentation qui est à la fois un tutorial intéressant à suivre même pour les plus expérimentés. Une documentation qui décrit l'intégralité de toutes les fonctions avec des exemples simples et bien construits à croire que cela ne peut pas être quelqu'un de Redmond car ils ne nous ont pas habitué à une telle documentation sur un produit.

Je pense que c'est l'effet OpenSource et ma fois, je suis bien content d'avoir trouvé ce site auquel je me réfère chaque fois que j'ai besoin d'approfondir mes connaissances de l'Entity Framework Core :

https://www.entityframeworktutorial.net/efcore/entity-framework-core.aspx
La meilleure documentation sur Entity Framework Core the Ultimate Documentation

C'est un exemple de documentation à suivre, il est fabuleux !

Have fun!

Authentification des Applications ASP.NET Core avec IdentityServer4 et Identity

Après un article complet sur le sujet de l'authentification des applications web. Je souhaite élargir mes connaissances à la découverte et à l'utilisation d'IdentityServer4.

Petite note personnelle, je suis très surpris de trouver ça :

\AngularAspNetCoreAuthen\Areas\Identity\Pages\Account\Register.cshtml.cs
namespace AngularAspNetAuthen.Areas.Identity.Pages.Account
{
    [AllowAnonymous]
    public class RegisterModel : PageModel
    {
        private readonly SignInManager<ApplicationUser> _signInManager;

\AspNetCoreMvcAuthen\Areas\Identity\Pages\Account\Register.cshtml.cs
namespace AspNetCoreMvcAuthen.Areas.Identity.Pages.Account
{
    [AllowAnonymous]
    public class RegisterModel : PageModel
    {
        private readonly SignInManager<IdentityUser> _signInManager;


C'est curieux on dirait que le model d'application ASP.NET Core Angular est plus évolué que celui d'MVC ... à méditer.

Bon maintenant que je sais faire du Scaffolding sur L'Identity voici après étude des différentes solutions le modèle de base que je vais utiliser :

https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate


https://github.com/damienbod/IdentityServer4AspNetCoreIdentityTemplate
IdentityServer4AspNetCoreIdentityTemplate

An ASP.NET Core IdentityServer4 Identity Template with Bootstrap 4 and Localization

CQFD

Comment faire des Logs dans ASP.NET Core C#

Cela fait cent fois que l'on parle de log nous avons résolut le problème avec Log4Net pendant deux bonnes décennies mais c'est comme tout, les choses changent. Alors aujourd'hui ce qui est le mieux intégré à ASP.NET Core c'est Serilog.

Qu'à cela ne tienne, allons y rapidement, pour faire des Logs dans mon Projet ASP.NET Core avec Serilog le plus simplement du monde.

Il faut installer les packages suivants :
NuGet Packages  pour Serilog
C'est bon de la noter car maintenant chaque fois que j'instancie un nouveau projet, je me vois obligé de copier ces quelques lignes dans mon nouveau projet tellement c'est simple et efficace.

Dans mon fichier Startup.cs
J'écris le code de la fonction suivante :

private void ConfigureLoggerFactory( ILoggerFactory loggerFactory )
{
    string date = DateTime.Now.ToString();
    date = date.Replace( "/", "" );
    date = date.Replace( " ", "_" );
    date = date.Replace( ":", "-" );
    string logfileName = $"Log/log_{date}.txt";

    var serilog = new LoggerConfiguration()
        .MinimumLevel.Verbose()
        .Enrich.FromLogContext()
        .WriteTo.File( logfileName );


    loggerFactory.WithFilter( new FilterLoggerSettings
     {
         { "IdentityServer4", LogLevel.Debug },
         { "Microsoft", LogLevel.Warning },
         { "System", LogLevel.Warning },
     } ).AddSerilog( serilog.CreateLogger() );
}


Que j'appelle dans la fonction Configure de la façon suivante :

public void Configure( IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory )

ConfigureLoggerFactory( loggerFactory );

Voilà, l'intérêt de faire ainsi c'est que l'on récupère des logs en provenance des modules System, Microsoft, et IdentityServer4.

N'oubliez pas de consulter :

C#.NET - Serilog Log Not Working

Pour savoir comment configurer les Logs

CQFD