Entity framework 将成员 table 添加到我自己的数据库
Entity framework add member table to my own DB
我一直在关注这里的教程 -
构建 ASP.NET 网络应用程序。
这里发生的是
- 所有成员 table 都在 "DefaultConnection" 和
下
- 用户 table 是在该连接下创建的。
然而,与数据层对应的所有其他 tables 都是在一个单独的数据库中创建的,称为 "wingtiptoys" 并且所有与玩具店产品相关的数据恰好是making 存储在 tables 那里。
因此,我发现很难在这两个数据库中的 table 之间交换信息。
在我自己的应用程序中,tables 实际上有成员信息,我需要将这些信息与 ASP.NET 创建的成员 table 合并。
就此而言,我完全不知道从登录页面到默认用户 table 的机制是如何工作的。我只是发现在默认数据库中有一个 ASPNetUsers table,它有我在测试我的应用程序时用来登录的玩具用户信息,但我在代码中找不到 login/register 的任何位置告诉他们将用户信息存储在该名称的 table 中的页面。
简而言之,我如何创建获取默认数据库中的成员 table(ASP.NET 默认提供的功能)以与产品和其他 [=47] 进行交互=]s 位于为应用程序的数据层创建的单独数据库中。
一个选项是在后者中创建一个成员table,并以某种方式将数据从默认数据库ETL 到成员table。然而,这似乎效率低下。
另外,是否有默认方法获取当前登录用户的id?
回答您的第一个问题:您只需同时使用 DbContext
(ApplicationDbContext
以及您为 "wingtiptoys" 命名的 DbContext
)的不同实例.
关于你的第二个问题:在 Controller 的上下文中,可以通过 System.Web.HttpContext.User.Identity.Name
找到用户的用户名。在模型中,您必须使用 System.Web.HttpContext.Current.User.Identity.Name
。给定用户的用户名,找到 UserId 应该很简单:
db.Users.Single(m => m.Username == User.Identity.Name).Id;
我一直在关注这里的教程 -
构建 ASP.NET 网络应用程序。
这里发生的是
- 所有成员 table 都在 "DefaultConnection" 和 下
- 用户 table 是在该连接下创建的。
然而,与数据层对应的所有其他 tables 都是在一个单独的数据库中创建的,称为 "wingtiptoys" 并且所有与玩具店产品相关的数据恰好是making 存储在 tables 那里。
因此,我发现很难在这两个数据库中的 table 之间交换信息。
在我自己的应用程序中,tables 实际上有成员信息,我需要将这些信息与 ASP.NET 创建的成员 table 合并。
就此而言,我完全不知道从登录页面到默认用户 table 的机制是如何工作的。我只是发现在默认数据库中有一个 ASPNetUsers table,它有我在测试我的应用程序时用来登录的玩具用户信息,但我在代码中找不到 login/register 的任何位置告诉他们将用户信息存储在该名称的 table 中的页面。
简而言之,我如何创建获取默认数据库中的成员 table(ASP.NET 默认提供的功能)以与产品和其他 [=47] 进行交互=]s 位于为应用程序的数据层创建的单独数据库中。
一个选项是在后者中创建一个成员table,并以某种方式将数据从默认数据库ETL 到成员table。然而,这似乎效率低下。
另外,是否有默认方法获取当前登录用户的id?
回答您的第一个问题:您只需同时使用 DbContext
(ApplicationDbContext
以及您为 "wingtiptoys" 命名的 DbContext
)的不同实例.
关于你的第二个问题:在 Controller 的上下文中,可以通过 System.Web.HttpContext.User.Identity.Name
找到用户的用户名。在模型中,您必须使用 System.Web.HttpContext.Current.User.Identity.Name
。给定用户的用户名,找到 UserId 应该很简单:
db.Users.Single(m => m.Username == User.Identity.Name).Id;