ASP.NET Multi-Tenant SaaS App in 20 Minutes (EF Core) - Free Tutorial + GitHub Code Project

  Рет қаралды 18,800

Nano ASP Boilerplate

Nano ASP Boilerplate

Күн бұрын

Пікірлер: 35
@PreethamM-di9qk
@PreethamM-di9qk 9 ай бұрын
Thank you soo much for the awesome video about Multi-Tenant. Clear and crisp explanation. Loved it!
@aspnano
@aspnano 7 ай бұрын
Thanks everyone for learning from these videos! Your comments and feedback are very appreciated
@Tamer_Ali
@Tamer_Ali Жыл бұрын
Thanks a lot for the awesome video 👍 waiting to learn more about SaaS and Multi-Tenant.
@muhammadfaryadazim6110
@muhammadfaryadazim6110 7 ай бұрын
I will just say .... wow 🤟🤟
@learndotnetcore
@learndotnetcore 10 ай бұрын
Deep dive tutorial 🎉 thanks efforts dude
@kumaravelg2348
@kumaravelg2348 8 ай бұрын
Excellent Tutorial😊
@bolajibello8917
@bolajibello8917 Жыл бұрын
Awesome content.. Thanks man!💯
@jamyrcarrasco8043
@jamyrcarrasco8043 Жыл бұрын
NIcee!!! Thanks for the video.
@billias28
@billias28 Жыл бұрын
Very nice video !
@gga-wh5du
@gga-wh5du Жыл бұрын
Thanks for the video 😊
@TheMezanine
@TheMezanine 3 ай бұрын
Thank you so much!!!
@GBRLMGR
@GBRLMGR 2 ай бұрын
At 3:33 How do you tell Visual Studio to show the arrow symbol in the lamba expression and the "different" or "not equal" symbol in the if statement? Looks cool!
@aspnano
@aspnano 2 ай бұрын
I think the latest VS just does that automatically
@brankogojkovic8600
@brankogojkovic8600 Жыл бұрын
Awesome, thanks a lot. It would be nice if there was a video for another example as well (Build a Multi-Tenant App With Multiple Databases)
@aspnano
@aspnano Жыл бұрын
There is a part 2 where multiple databases are covered, I just added the link in the description.
@brankogojkovic8600
@brankogojkovic8600 Жыл бұрын
Thanks a lot. Best regards@@aspnano
@larsp5109
@larsp5109 10 ай бұрын
6:21 SQLServer is way slower working with a string as a primary key instead of an int.
@AhmedGamal-it8ru
@AhmedGamal-it8ru 4 ай бұрын
Thanks very much
@jheyssonapazamonasterio2110
@jheyssonapazamonasterio2110 4 ай бұрын
8:24 dotnet ef migrations add Initial
@umairmalpara9208
@umairmalpara9208 11 ай бұрын
This is good. But it can be hectic if we have lots of tenants. Can we extend this example to store tenant data in different schemas of the same database? And How?
@logantcooper6
@logantcooper6 11 ай бұрын
You would have to create a copy of every table required for your application for every new schema and be able to generate the schema/tables dynamically. That would be even more hectic.
@CarCan316
@CarCan316 6 ай бұрын
Great stuff - if we can see how to do this using Identity for the authentication, sign up, etc., if would make this thing AWSOME!
@aspnano
@aspnano 6 ай бұрын
Thats done in the Nano boilerplate, check it out!
@FelipeAlmeida-bc9kf
@FelipeAlmeida-bc9kf Жыл бұрын
first off all thks a lot for these tutorial... i have just one question: when i tried to POST a new product, an Microsoft.Data.SqlClient.SqlException was thrown saying that it can't insert a NULL value to TenantId Column, on Product table.... Should we add this information ( by claims for example) on Create endpoint/service? i watched your tutorial twice and could not find any diferences on our code... thanks alot!!!!
@aspnano
@aspnano Жыл бұрын
Hi, hopefully this helps... you need to have a header called tenant and provide a value, otherwise you should get an Invalid Tenant error. Set a breakpoint in the constructor of your applicationdbcontext and see if a TenantId id being set in the currentTenantService - if not your problem is in the middleware or that service. Last place the issue could be is in your SaveChanges override in dbcontext. In the video (I didnt explain this detail) save changes loops over any entity that implements IMustHaveTenant interface. Make sure your product entity is implementing that interface otherwise it wont get included in the save changes process.
@FelipeAlmeida-bc9kf
@FelipeAlmeida-bc9kf Жыл бұрын
@@aspnano i found where i made a mistake hehehehe... i left a little "break" at saveChanges switch... tks again and waiting for more 😃
@johnbhatt
@johnbhatt 4 ай бұрын
If anyone still getting this error on .NET Core 8, I found the solution. When we implemented interface IMustHaveTenant on Entity, it automatically added Column in database. When we added TenantId separately, it was confused because it found two column named TenantId. I simply removed TenantId property from entity class and it saved as expected.
@caseyspaulding
@caseyspaulding 6 ай бұрын
💯Thank you
@ghevisartor6005
@ghevisartor6005 Жыл бұрын
nice video! how do you prevent another tenant to use the key of someone else? are they supposed to be very difficult to find or is this a non issue?
@aspnano
@aspnano Жыл бұрын
The only time you would resolve the tenant from a header or subdomain, is in an unauthenticated request like login. Once the user is authenticated and issued a token, the tenant key would always be read from that token (or cookie) which are imposible to modify. So in the tenant resolver middleware, you would first check to see if there is a token present and if so, obtain the tenant value from a claim in that token.
@ghevisartor6005
@ghevisartor6005 Жыл бұрын
@@aspnano you are right, i'm so dumb
@SOYLUISO
@SOYLUISO Жыл бұрын
good video, but that part of creating a second db context only for resolving the tenant of the request is pretty ugly to be honest.
@LordErnie
@LordErnie Жыл бұрын
Here is me, asking myself what the fk is a Tenant. Good vid non the less tho.
Multi-tenant Architecture for SaaS
11:07
CodeOpinion
Рет қаралды 124 М.
Multi-Tenant: Database Per Tenant or Shared?
8:55
CodeOpinion
Рет қаралды 21 М.
She wanted to set me up #shorts by Tsuriki Show
0:56
Tsuriki Show
Рет қаралды 8 МЛН
Multi-Tenant SaaS Architecture (Next.js Auth)
22:57
ByteGrad
Рет қаралды 30 М.
Adding Multitenancy to an ASP.NET Core 6 Application
25:56
Thomas Clark
Рет қаралды 4,9 М.
EF Core Multitenancy For Your SaaS Applications
14:41
Milan Jovanović
Рет қаралды 28 М.
The Easiest Way to Create PDFs in .NET
9:47
Nick Chapsas
Рет қаралды 125 М.
Is Your .NET App Multi-Tenant Yet? Learn How!
19:06
Mohamad Dbouk
Рет қаралды 11 М.
Autonomous Code Generation with ChatGPT and Python
29:44
Robert Cowher - DevOps, Python, AI
Рет қаралды 134
Creating .NET Apps with Nano Boilerplate CLI: Multi-Tenant SaaS Template
3:58