mvc identity连接mysql_asp.net MVC5,如何使用mysql数据库,使用MVC框架中自带的identity用户验证体系...
问题如题
现在很多时候,即使是.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用户验证体系...相关推荐
- 新浪sea增加php,php接口 连接新浪云sea的mysql数据库
自己写的时候采用了两种方式,都可以连接到新浪云sea mysql数据库数据取数 Hello, SAE! '; //echo "用户名:" .SAE_MYSQL_USER." ...
- 不同网络下 一台电脑连接另一台电脑的mysql数据库
不同网络下 一台电脑连接另一台电脑的mysql数据库 首先确保,两台电脑都已经有了基本配置好的可用的mysql数据库 确定一台电脑为服务端,再服务端数据库下,先授权可被其他电脑访问: 如果MySQL是 ...
- yii框架如何连接mysql数据库_php yii框架怎么连接数据库
这篇文章主要介绍了PHP的Yii框架中使用数据库的配置和SQL操作实例教程,Yii支持绑定多种数据库,文中主要对各种查询语句在Yii中的使用给出了例子,需要的朋友可以参考下 php yii框架怎么连接 ...
- Windows 上连接本地 Linux虚拟机上的 mysql 数据库
查看本机ip ifconfig 查看当前的 3306 端口状态 netstat -an|grep 3306 当前是外部无法连接状态 修改访问权限 默认的 mysql 是只能本机连接, 因此需要修改配置 ...
- 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...
mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...
- mysql登录其他电脑_如何连接另一台电脑的mysql数据库
假设192.168.1.3为服务器: 首先在ip为192.168.1.103的机子上能够ping 通运行->cmd>ping 192.168.1.3检查是否能ping通: 把两台电脑的I ...
- navicat mysql 百度云_转载:用navicat连接百度云服务器上的mysql数据库
原文连接:http://blog.sciencenet.cn/home.php?mod=space&uid=853805&do=blog&quickforward=1& ...
- 使用phpstorm连接云虚拟主机上的MySQL数据库踩坑之路;
早上接到阿里云客服的电话,告知我之前买的云虚拟机快到期了,问我要不要续费,我去看了下控制台,感觉自己留着这个还是蛮有用的,就续费了,随便翻了下控制台,看见虚拟机上面的数据库还没怎么用过,就想着利用一下 ...
- navicat没安装mysql怎么连接_在本地不安装mysql 数据库 能连接吗?
展开全部 本地不安装mysql 服务器是可以的,但是至少要安装客户端, 也要安装一个 ODBC 的驱动.62616964757a686964616fe78988e69d833133336564623 ...
最新文章
- 第十、十一周项目三-警察和厨师(1)
- 高级篇:独立开发者 5 分钟入门 ASO
- dr.web for android version 9,DrWeb安全防护
- Sql Server 连接池
- 第十七章 Python网络编程
- Hadoop集群扩展子节点
- C++ Primer 5th笔记(chap 16 模板和泛型编程)函数模板显式实参
- Sql语句之select 5种查询
- 【多重背包】太空电梯(jzoj 1286)
- leetcode 331. 验证二叉树的前序序列化
- YAML_02 playbook的ping脚本检测
- ELDD 阅读笔记 --- 01
- 软件有打印按钮,能够直接打印出来。手机上有三星的共享打印组件。
- 我想自己写一个扫雷,用Python
- 第八章--注册码是怎样炼成的
- 贴片钽电容封装及规格和参数资料
- js 解析lrc文件(歌词)
- 键盘切换不出中文输入法的解决方法
- 【Solr】之使用结巴分词模拟搜索商品1
- 那些年用过的炫彩机械键盘
热门文章
- ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理
- 如何利用.NET Core搭建跨平台的控制台应用程序
- visual studio 2017发布dotnet core到docker
- Git之HEAD和origin
- IOS学习笔记之二十二(文件io)
- linux网络编程之怎么配置好unp.h文件
- Android之INSTALL_FAILED_INSUFFICIENT_STORAG解决办法
- 十三、制作 iVX音乐分享小程序
- 因为我的名字特殊大家都是用异样的眼光在看着我 04
- java gui 按键 数组_java GUI分配数组值