Thank you for the video! What I still could not understand is if there is a way to adopt the clean architecture together with EfCore's IDbContextFactory approach? In my projects I widely use GraphQL and HotChocolate library and for the last one using IDbContextFactory seems to be the preferable way of work with DbContext. So are there any examples of code or at lease ideas described of how to deal with Repositories and UnitOfWork abstraction in a Clean architecture project when IDbContextFactory is involved?
Thanks a lot for that awesome video why don't lazy loading/eager loading the Repositories in the UnitOfWork implementation to load what we need only instead of inject them in the constructor?
Thank you for this video. It's very helpful to see an entire app with clean architecture. I would love to see the video on the Angular front end. In general, do you recommend WebAPI plus Angular front end over other things like MVC or Razor pages?
I wouldn't say I recommend that. Having an API in the backend and a SPA on the front (either React, Angular and Vue) is a common architectural choice during the last 10 years. It has some advantages if you want to decouple your frontend from your backend, usually for scaling purposses, but it also brings a lot of complexity and additional latency due to countless HTTP calls. Also, if I would develop for Windows and rely on Windows Auth, AD and so on, MVC or Blazor would be probably my choice. In this order :)
In my opinion, having an API with all the business logic serving dummy clients (Angular, React, Android, iOS) is still the way to go. However, if you know for sure that you will only have a web client, I would go with MVC/Razor. I can't recommend Blazor because, at least for me, I can't expect my clients to download 10MB to use my project.
@@Codewrinkles Thank you very much! That clarifies a lot for me. Do you have any thoughts on using the scaffolded Identity in combination with AD? I typically only rely on AD for my user information and roles but I've seen some people like to combine the two and I wasn't sure if there's a good reason for that.
@@o_glethorpe "blazor" is a loaded term now that .Net 8 is out. You can have SSR blazor and it is supper fast, doesn't need a persistent connection at all. You can use advance navigation to make it really responsive. It solves a lot of the issues you run into with fully javascript SPA client and you can do 99% of the app without writing javascript at all.
As I mentioned in the video all Codewrinkles Ambassador members and higher get the source code after each video. Please join as a member and check then the Membership tab on the channel homepage for info