使用C# ASP.NET Web API开发供Unity WebGL使用的HTTP接口(一)

Unity WebGL连接数据库,除了之前提到的一种使用PHP的方法外,还用一种就是本文提到的,使用ASP.NET Web API写一个HTTP接口,然后在UnityWebGL中调用。

需要工具:

Visual Studio 2017(需要有ASP.NET Web API的开发环境)
SQL Server数据库
Unity2017.4.10(需要能够发布WebGL)

数据库操作

首先需要在SQL Server中新建一个数据库。打开数据库,右键新建数据库,命名为MyWebAPI。
在这里插入图片描述 在这里插入图片描述

打开VS2017创建APS.NET Web API项目

1、创建项目

新建项目,选择ASP.NET Web应用程序,命名为MyWebAPI在这里插入图片描述在这里插入图片描述
在这个界面,选择空的模板,添加文件夹和核心应用选择Web API 。不进行身份验证即可。
在这里插入图片描述
创建好的界面如下。
在这里插入图片描述

2、安装Entity Framework框架

现在项目已经创建好了,接下来就准备连接数据库。这里使用的是SQL Server数据库,在VS中有已经写好的框架,直接安装框架使用即可。这样就免去了写SQL语句的麻烦。Entity Framework。首先打开“工具”—>NuGet包管理器—>程序包管理控制台。
在这里插入图片描述
在控制台输入如下命令进行安装

Install-Package EntityFramework

如出现如下界面,即为安装成功。
在这里插入图片描述

3、连接数据库

安装完成之后我们就需要连接数据库了,打开Web.config文件,在里面加入连接数据库代码,如下,其中*****部分替换为你数据库的名称

<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=Localhost;Initial Catalog=******;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>

最终效果如下:
在这里插入图片描述

4、建立数据模型

在Models目录下新建一个类,命名为Student(右键,添加,类)

    /// <summary>
    /// 学生信息,数据库中的表格的内容和这个是对应的
    /// </summary>
    public class Student
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public string StudentNumber { get; set; }
        public string Class { get; set; }
        public string Address { get; set; }                      
    }

之后再建立一个数据库的Context类文件。

public class StudentContext : DbContext
    {
        public StudentContext()
       : base("name=DefaultConnection")
        {
        }
        public DbSet<Student> Students { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }
    }

注意:
1、name=DefaultConnection要和Web.config中的数据库连接字符串中的name一致。
2、OnModelCreating重载函数的作用是让创建的数据表名称为单数格式,即为Student,而不是Students。

5、启用Migrations

在程序包管理控制台启用Migrations,生成Migrations目录,以及目录中的Configuration.cs配置文件。在控制台输入如下代码:

Enable-Migrations

在这里可能很多人会报错,不用慌,解决办法在这里,这是本人踩的第一个坑。解决办法

6、将建立的数据模型导入到SQL Server中

在程序包管理控制台输入:

Add-Migration xxx

其中xxx可任意填写,VS会生成一个名为201912050905531_123_xxx.cs文件,201912050905531_123是当前时间,文件包含Up和Down两个方法。
在这里插入图片描述
图片中黄色部分不需要管,因为我之前已经创建过。对程序没有影响。
接下来输入:

Update-Database

对数据库进行更新。执行完毕之后,进入数据库刷新一下,就会发现Student数据表已经创建完毕了。

7、向数据库添加模拟数据

利用Configuration.cs中的Seed函数添加一些测试数据,在Seed方法下添加以下模拟数据。

var student = new Student
            {
                Name = "小王",
                StudentNumber = "20190201",
                Class = "三年二班",
                Address = "中山区",               
            };
            context.Students.Add(student);
            student = new Student
            {
                Name = "小李",
                StudentNumber = "20190506",
                Class = "三年五班",
                Address = "高新园区",               
            };
            context.Students.Add(student);
            student = new Student
            {
                Name = "小王",
                StudentNumber = "20190315",
                Class = "三年三班",
                Address = "西岗区",              
            };
            context.Students.Add(student);

添加完毕之后保存,在控制台输入:Update-Database进行更新,带执行完毕之后刷新数据库,就会发现我们添加的数据已经显示在了数据库之中。
在这里插入图片描述
下一篇将写到创建控制器以及在浏览器中读取。

参考资料:https://www.cnblogs.com/yelanggu/p/10002129.html特别感谢一下大神。
  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小温同学的账号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值