【问题标题】:ASP.NET Web Application and MySQL with custom Identity Storage具有自定义身份存储的 ASP.NET Web 应用程序和 MySQL
【发布时间】:2016-12-19 08:04:42
【问题描述】:

我想在现有 MySQL 数据库中实现一个新的 WebApp,当我尝试进行迁移或连接时出现问题,因为我已经有一个“Users”表,所以我想要创建自己的表(webapp_users、webapp_roles、...)。

我尝试了几种方法,但没有一种奏效,您能帮我告诉我从“新建 > 项目...”步骤执行此操作的步骤吗? p>

我是否应该从 NuGet 包管理器安装 MySQL 包,使用外部工具/插件,...?

我会很感激的,我完全被屏蔽了。

【问题讨论】:

  • 如果您已经有一个数据库,您可以采用数据库优先的方法并从您的数据库生成 EF 模型。我不确定 100% 是否可以使用 MySQL,但请在互联网上搜索 database-first

标签: mysql asp.net asp.net-mvc entity-framework-6 asp.net-identity


【解决方案1】:

在您的 MySql 服务器中使用所需的表创建一个数据库,然后按照以下步骤操作:

  1. 首先将MySql.WebMySql.DataMySql.Data.Entity.EF6 dll 导入到您的项目中。
  2. 现在,通过右键单击任意文件夹 -> 新项目 -> 数据 -> ADO.net 实体数据,从您的数据库创建一个实体框架数据模型 型号
  3. 点击从数据库生成 -> 下一步
  4. 点击新建连接->更改->
  5. 选择 MySql 数据库作为数据源
  6. 提供您的 MySql 服务器凭据并选择数据库以从数据库生成数据模型

它应该可以正常工作。

编辑: 您还可以将上下文中的连接字符串的名称(存储在 web.config 中)传递给 IdentityDbContext 的基本构造函数

public class MyDbContext : IdentityDbContext<MyUser>
{
  public MyDbContext()
    : base("TheNameOfTheConnectionString")
  {

  }
}

Check this for more info

【讨论】:

  • 这很好用,但我应该如何继续将它链接到我想要的身份存储模型?
  • @JoseMMartin :你这是什么意思?
  • 将 ADO.net 数据模型链接到身份,因为它正在工作并且我可以访问数据库但 webapp 的凭据没有保存在数据库中
  • 您为什么希望 Web 应用程序的凭据存储在数据库中?您是否保存了一些数据并且无法获取它? db 相关凭据和信息存储在connection string 下的Web.config 文件中。
  • 我的意思是用户、角色等表(身份存储用来保存用户访问应用程序的凭据的表)。现在我无法将它们保存在我自己的表中,因为名称的原因,正如我在问题中所说,我已经在数据库中有一个“用户”表。我应该创建相应格式的表格吗?
猜你喜欢
  • 1970-01-01
  • 2015-03-22
  • 2015-06-13
  • 1970-01-01
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多