.net core mysql 配置_Asp.Net Core 项目搭建 基础配置 和MySql 的使用

一、开发环境准备

1、安装Visual Studio 2015,我这里安装的是专业版。

2、安装.NET Core SDK相关

解决方案中相关文件大致说明

wwwroot      存放js,css,images等静态资源

Program.cs   应用程序入口

Startup.cs    应用程序相关启动项配置,包含ConfigureServices和Configure两个方法,前者负责服务的配置,后者负责http请求管道的配置。

project.json  项目的基础配置文件

二、Mvc基本应用

添加MVC引用有两种方法。

1 通过project.json

打开project.json文件,在dependencies部门增加Microsoft.AspNetCore.Mvc的引用,当你输入时,Visual Studio会有自动的提示,非常方便。

"dependencies": {"Microsoft.NETCore.App": {"version": "1.0.0","type": "platform"},"Microsoft.AspNetCore.Diagnostics": "1.0.0","Microsoft.AspNetCore.Server.IISIntegration": "1.0.0","Microsoft.AspNetCore.Server.Kestrel": "1.0.0","Microsoft.Extensions.Logging.Console": "1.0.0","Microsoft.AspNetCore.Mvc": "1.0.0"},

2 通过NuGet

通过NuGet管理器搜索Microsoft.AspNetCore.Mvc添加引用,或直接在程序包管理器控制台输入命令

Install-Package Microsoft.AspNetCore.Mvc

即可完成Mvc引用的添加。

四、添加MVC服务及Http请求管道处理

添加MVC服务

修改Startup.cs的ConfigureServices方法如下

public voidConfigureServices(IServiceCollection services)

{

services.AddMvc();

}

添加Http请求管道处理

修改Startup.cs的Configure方法如下

public voidConfigure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

{

loggerFactory.AddConsole();if(env.IsDevelopment())

{//开发环境异常处理

app.UseDeveloperExceptionPage();

}//使用Mvc,设置默认路由

app.UseMvc(routes =>{

routes.MapRoute(

name:"default",

template:"{controller=Login}/{action=Index}/{id?}");

});

}

五、在项目中使用MySql

.NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使用Dapper。

目前官方没有出.NET Core MySQL  驱动,但是已经有第三方进行改动封装出.NET Core MySQL Connector 预览版。

Dapper 也已经出了 .NET Core 预览版。

Dapper dot net 是一个轻量型的ORM,但是性能很强大。

有了.NET Core MySQL Connector  我们可以直接使用ADO.NET 操作数据库。

第三方 MySQL Connector: https://github.com/SapientGuardian/mysql-connector-net-netstandard

Dapper: https://github.com/StackExchange/dapper-dot-net

添加引用

使用 NuGet 控制台添加

Install-Package SapientGuardian.MySql.Data -Pre

Install-Package Dapper -Pre

或者修改project.json

{"version": "1.0.0-*","buildOptions": {"emitEntryPoint": true},"dependencies": {"Microsoft.NETCore.App": {"type": "platform","version": "1.0.1"},//mysql 相关配置

"Dapper": "1.50.2","MySql.Data.Core": "7.0.4-IR-191"},"frameworks": {"netcoreapp1.0": {"imports": "dnxcore50"}

}

}

在Asp.Net Core 中使用

public static void Main(string[] args)

{

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=test;uid=root;pwd=123456;charset='gbk';SslMode=None");//新增数据

con.Execute("insert into user values(null, '测试', 'http://www.cnblogs.com/linezero/', 18)");//新增数据返回自增id

var id=con.QueryFirst("insert into user values(null, 'linezero', 'http://www.cnblogs.com/linezero/', 18);select last_insert_id();");//修改数据

con.Execute("update user set UserName = 'linezero123' where Id = @Id", new { Id =id });//查询数据

var list=con.Query("select * from user");foreach (var item inlist)

{

Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");

}//删除数据

con.Execute("delete from user where Id = @Id", new { Id =id });

Console.WriteLine("删除数据后的结果");

list= con.Query("select * from user");foreach (var item inlist)

{

Console.WriteLine($"用户名:{item.UserName} 链接:{item.Url}");

}

Console.ReadKey();

}

Session的操作

通过NuGet程序包管理器、控制台、或直接修改project.json文件,添加对Microsoft.AspNetCore.Session中间件的引用

6e688997321fb6eaac235685df62e908.png

修改Startup.cs文件的的ConfigureServices方法,增加Session服务注册

public voidConfigureServices(IServiceCollection services)

{//添加mvc服务

services.AddMvc();//添加session服务

services.AddSession();

}

修改Startup.cs文件的的Configure方法,请求管道中启用Session

//启用Session

app.UseSession();

Session的操作

//赋值 键值对形式储存 这里需要把数据转换成Byte数组

HttpContext.Session.Set("UserInfo", ByteConvertHelper.Object2Bytes(null));//或者session的值 将数据转换成对象

ViewBag.Message = ByteConvertHelper.Bytes2Object(HttpContext.Session.Get("UserInfo"));//session 储存字符串

HttpContext.Session.SetString("Test", "Ben Rules!");//获取session

ViewBag.Message = HttpContext.Session.GetString("Test");

数组转换

///

///转换Byte数组///

public classByteConvertHelper

{///

///将对象转换为byte数组///

/// 被转换对象

/// 转换后byte数组

public static byte[] Object2Bytes(objectobj)

{string json =JsonConvert.SerializeObject(obj);byte[] serializedResult =System.Text.Encoding.UTF8.GetBytes(json);returnserializedResult;

}///

///将byte数组转换成对象///

/// 被转换byte数组

/// 转换完成后的对象

public static object Bytes2Object(byte[] buff)

{string json =System.Text.Encoding.UTF8.GetString(buff);return JsonConvert.DeserializeObject(json);

}///

///将byte数组转换成对象///

/// 被转换byte数组

/// 转换完成后的对象

public static T Bytes2Object(byte[] buff)

{string json =System.Text.Encoding.UTF8.GetString(buff);return JsonConvert.DeserializeObject(json);

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值