Bonjour

histoire d'apprendre le développement avec .net core, je voudrais me lancer dans le développement d'un blog un petit peu plus complexe que les exemples qu'on trouve dans la plupart des tutoriels.

Dans mon cas, j'aimerais pouvoir découper mon projet en deux applications différentes : une application pour la partie administration, accessible uniquement depuis certaines machines ; et une autre pour la partie publique qui n'aura un accès qu'en lecture seule au données du site.

Voici à quoi ressemble la structure du projet :

  • MonSite
    • MonSite.sln
    • MonSite.Admin
      • MonSite.Admin.csproj
      • Controllers
      • Models
      • Views
      • AdminDBContext.cs
      • Program.cs
      • Startup.cs

    • MonSite.Public
      • MonSite.Public.csproj
      • Pages
      • wwwroot
      • PublicDBContext.cs
      • Program.cs
      • Startup.cs

    • MonSite.Data
      • MonSite.Data.csproj
      • Models
      • BaseDBContext.cs
    • Tests



Le projet MonSite.Data serait ici une bibliothèque de classes qui sera utilisée par les deux applications, à la différence que l'application MonSite.Admin pourra lire et écrire comme elle veut dans la base de données et que MonSite.Public n'y aura accès qu'en lecture seul.


Ma question est : Est-ce une bonne idée de procéder ainsi ?
Si oui, comment gérer proprement les migrations avec ef core ? Y a t-il des chose à savoir quand deux applications différentes partage la même base de données ?

Si non, quels seraient les meilleurs approches à avoir ?

Merci d'avance.