问题如题

现在很多时候,即使是.net项目,我们用的数据库也未必时是 SQL Server了。

但很多VS 自带的框架(如MVC 、WebAPI等框架)中的示例自带的仍然是默认Sql Server的,而且并不一定好改成别的数据库。这有时候就很苦恼。

比如.net MVC框架中自带的一套用户体系,含有用户登录注册权限角色等一大堆的功能。如果我们开始一个新项目,不得不使用Sql Server以外的数据库的化,而且又没有足够的成本来重新开发一套权限管理机制的话,那我们要怎么办呢?

自己仓促写的通常又太low,也不怎么安全。

套用别的又很麻烦。

而实际上,这种情况在我的工作经历中一直持续发生,到现在我也没能成功地运用好VS .net框架中自带的那一套权限体系,每次都自己开发,但又觉得有点low。

痛定思痛啊,这篇博文就是为了解决这个问题。

这里面提供两种思路和方案。

经尝试,就算我最终在web.config里面把mysql的配置好,项目可以启动,但注册和登录等需要读写数据库的时候还是会出错。

原因很简单,sql server的话,可以直接创建数据库和表,毕竟是自家亲儿子。

别的数据库,比如mysql,就无法创建数据库和表,也就失败了。

table XXX not existed的错误提示很明显了。

于是我就想到了一种低级一点的办法,事实证明,好理解,也有效。

1.低级一点的。

手工按照.net框架里要的那样,建好一个数据库和表,以及对应字段。

如图:

那么你又要问,到底是什么结构呢? 这多麻烦啊

我的办法是:

用VS新建一个MVC项目,然后就简单粗暴运行,注册等。此时会发现已经有sql server数据库和表生成了。

如图

“视图” – sql server对象管理器“

然后,

依次获得到各个table的创建语句

然后就可以看到打开的sql文件里的类似如下的sql语句片段:

USE [aspnet-WebApplication4-20180326090819]

GO

/****** 对象: Table [dbo].[AspNetRoles] 脚本日期: 2018/3/27 11:46:34 ******/

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[AspNetRoles] ( [Id] NVARCHAR (128) NOT NULL, [Name] NVARCHAR (256) NOT NULL );

GO

CREATE UNIQUE NONCLUSTERED INDEX [RoleNameIndex] ON [dbo].[AspNetRoles]([Name] ASC);

GO

ALTER TABLE [dbo].[AspNetRoles] ADD CONSTRAINT [PK_dbo.AspNetRoles] PRIMARY KEY CLUSTERED ([Id] ASC);

可以用来创建mysql中的表吗?

机智哦

不过直接粘贴过去执行还是会报错的,毕竟是不同的数据库,数据类型、语法什么的还是有些不一样。

我们就取其中的

CREATE TABLE [dbo].[AspNetRoles] ( [Id] NVARCHAR (128) NOT NULL, [Name] NVARCHAR (256) NOT NULL );

创建表的这句话去mysql中建表就行了。

再相应修改一下:

CREATE TABLE AspNetRoles ( Id VARCHAR (128) NOT NULL, Name VARCHAR (256) NOT NULL );

如上,我去掉了dbo,去掉了中括号,NVARCHAR改为VARCHAR。

然后在mysql中执行,真的就成功了。

所以,另外的几个表,以此类推,在mysql中就可以得到几个表,结构和字段与sql server中的都一致了。

这些我已经亲测了,确实成功。

而且后续的运行,注册,登录等都可以成功。

不再赘述。

总之,这里算是耍了个滑头。

但也算是解决了问题,毕竟能用。

但上述方法真的好勉强啊。

问题的关键其实很简单,就是在现有代码条件下,mysql没法直接就创建了mysql table这些东西。

如果能呢,那岂不是很好?

这也就是我后来终于找到的

2. 高级一点的做法

我本机的环境:

windows 10 64bit

Visual Studio 2015 旗舰版,.NET 4.5.2,

Mysql 5.7.17 社区版。

按照博文中的配置好之后,直接运行成功,一字不改。

而且注册登录都成功写入数据库。

完全仿照这个做完就好了。

mvc identity连接mysql_asp.net MVC5,如何使用mysql数据库,使用MVC框架中自带的identity用户验证体系...相关推荐

  1. 新浪sea增加php,php接口 连接新浪云sea的mysql数据库

    自己写的时候采用了两种方式,都可以连接到新浪云sea mysql数据库数据取数 Hello, SAE! '; //echo "用户名:" .SAE_MYSQL_USER." ...

  2. 不同网络下 一台电脑连接另一台电脑的mysql数据库

    不同网络下 一台电脑连接另一台电脑的mysql数据库 首先确保,两台电脑都已经有了基本配置好的可用的mysql数据库 确定一台电脑为服务端,再服务端数据库下,先授权可被其他电脑访问: 如果MySQL是 ...

  3. yii框架如何连接mysql数据库_php yii框架怎么连接数据库

    这篇文章主要介绍了PHP的Yii框架中使用数据库的配置和SQL操作实例教程,Yii支持绑定多种数据库,文中主要对各种查询语句在Yii中的使用给出了例子,需要的朋友可以参考下 php yii框架怎么连接 ...

  4. Windows 上连接本地 Linux虚拟机上的 mysql 数据库

    查看本机ip ifconfig 查看当前的 3306 端口状态 netstat -an|grep 3306 当前是外部无法连接状态 修改访问权限 默认的 mysql 是只能本机连接, 因此需要修改配置 ...

  5. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...

     mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...

  6. mysql登录其他电脑_如何连接另一台电脑的mysql数据库

    假设192.168.1.3为服务器: 首先在ip为192.168.1.103的机子上能够ping 通运行->cmd>ping  192.168.1.3检查是否能ping通: 把两台电脑的I ...

  7. navicat mysql 百度云_转载:用navicat连接百度云服务器上的mysql数据库

    原文连接:http://blog.sciencenet.cn/home.php?mod=space&uid=853805&do=blog&quickforward=1& ...

  8. 使用phpstorm连接云虚拟主机上的MySQL数据库踩坑之路;

    早上接到阿里云客服的电话,告知我之前买的云虚拟机快到期了,问我要不要续费,我去看了下控制台,感觉自己留着这个还是蛮有用的,就续费了,随便翻了下控制台,看见虚拟机上面的数据库还没怎么用过,就想着利用一下 ...

  9. navicat没安装mysql怎么连接_在本地不安装mysql 数据库 能连接吗?

    展开全部 本地不安装mysql 服务器是可以的,但是至少要安装客户端, 也要安装一个  ODBC 的驱动.62616964757a686964616fe78988e69d833133336564623 ...

最新文章

  1. 第十、十一周项目三-警察和厨师(1)
  2. 高级篇:独立开发者 5 分钟入门 ASO
  3. dr.web for android version 9,DrWeb安全防护
  4. Sql Server 连接池
  5. 第十七章 Python网络编程
  6. Hadoop集群扩展子节点
  7. C++ Primer 5th笔记(chap 16 模板和泛型编程)函数模板显式实参
  8. Sql语句之select 5种查询
  9. 【多重背包】太空电梯(jzoj 1286)
  10. leetcode 331. 验证二叉树的前序序列化
  11. YAML_02 playbook的ping脚本检测
  12. ELDD 阅读笔记 --- 01
  13. 软件有打印按钮,能够直接打印出来。手机上有三星的共享打印组件。
  14. 我想自己写一个扫雷,用Python
  15. 第八章--注册码是怎样炼成的
  16. 贴片钽电容封装及规格和参数资料
  17. js 解析lrc文件(歌词)
  18. 键盘切换不出中文输入法的解决方法
  19. 【Solr】之使用结巴分词模拟搜索商品1
  20. 那些年用过的炫彩机械键盘

热门文章

  1. ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理
  2. 如何利用.NET Core搭建跨平台的控制台应用程序
  3. visual studio 2017发布dotnet core到docker
  4. Git之HEAD和origin
  5. IOS学习笔记之二十二(文件io)
  6. linux网络编程之怎么配置好unp.h文件
  7. Android之INSTALL_FAILED_INSUFFICIENT_STORAG解决办法
  8. 十三、制作 iVX音乐分享小程序
  9. 因为我的名字特殊大家都是用异样的眼光在看着我 04
  10. java gui 按键 数组_java GUI分配数组值