如何共享 DbContexts 而不是获取 2 个用户表
How to share DbContexts and not get 2 user tables
我正在使用 Asp.Net Core 3.1 以及 Entity Framework、Asp.Net Identity 和 IdentityServer4。我试图在多个项目中共享我的 DbContext,但我的代码优先迁移没有产生我需要的东西。这可以通过代码优先迁移实现吗?我的设置完全愚蠢吗?谢谢你的时间。
我的项目层次结构与 DbContexts。
我想要的
我得到了什么
在身份和应用程序初创公司中
services.AddIdentity<AppUser, IdentityRole>()
.AddEntityFrameworkStores<AppUserContext>()
.AddDefaultTokenProviders();
...
services.AddDbContext<AppUserContext>(options => options.UseSqlServer(connectionString));
迁移
dotnet-ef migrations add Init -p User\User.csproj -c AppUserContext -s IdentityServer\IdentityServer.csproj
dotnet-ef migrations add Init -p Persistence\Persistence.csproj -c RecipeContext -s Application\Application.csproj
更新 1
将 AppUser 和 AppUserContext 移动到 IdentityServer。红色是受限端点。
感谢@RuardvanElburg 的建议,我 "solved" 通过更改我的范例来实现这一点,您可以在我的 更新 1.
中看到
我正在使用 Asp.Net Core 3.1 以及 Entity Framework、Asp.Net Identity 和 IdentityServer4。我试图在多个项目中共享我的 DbContext,但我的代码优先迁移没有产生我需要的东西。这可以通过代码优先迁移实现吗?我的设置完全愚蠢吗?谢谢你的时间。
我的项目层次结构与 DbContexts。
我想要的
我得到了什么
在身份和应用程序初创公司中
services.AddIdentity<AppUser, IdentityRole>()
.AddEntityFrameworkStores<AppUserContext>()
.AddDefaultTokenProviders();
...
services.AddDbContext<AppUserContext>(options => options.UseSqlServer(connectionString));
迁移
dotnet-ef migrations add Init -p User\User.csproj -c AppUserContext -s IdentityServer\IdentityServer.csproj
dotnet-ef migrations add Init -p Persistence\Persistence.csproj -c RecipeContext -s Application\Application.csproj
更新 1
将 AppUser 和 AppUserContext 移动到 IdentityServer。红色是受限端点。
感谢@RuardvanElburg 的建议,我 "solved" 通过更改我的范例来实现这一点,您可以在我的 更新 1.
中看到