宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据

admin 6个月前 (05-04) 科技 59 0

新建一个.NET Core项目,我使用的IDE是VS2019

 依次建立三个Core类库:第一个命名api.Model,第二个api.Common,第三个api.Bo

 

解释一下这个三类库的作用:

第一个Model,主要存放一些数据库毗邻字符串,ORM实体类等

第二个Common,主要存放一些公共类,文件上传,md5加密文件等

第三个Bo,处置一些营业逻辑的事情,好比将用户信息存放到数据库,个人感受类似于ASP的三层架构中的DAL层吧。。。

总体感受这三个类库也与三层架构(UI层,DAL层,BLL层)的结构类似。。。

然则,对于这篇文章,个人感受更主要的是处置数据,写接口。。。

接下来就是要引入响应的NuGet包了

Model:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第1张

 Bo:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第2张

这里暂时不需要用到Common

最后就是要添加类库直接的关联了

Model:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第3张

 Bo:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第4张

以上事情所有完成后项目目录模块如下:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第5张

编写数据库(SQL):

create database testDB
use testDB
go
create table [User]
(
    id int identity(1,1)not null,
    phone varchar(20),
    [password] nvarchar(50),
    msgCode varchar(10),
    regTime dateTime,
    nickName nvarchar(50),
    state int
)
go

建一个User类:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第6张

using System;
using System.Collections.Generic;
using System.Text;

namespace api.Model.TestEntities
{
    public partial class User
    {
        public int Id { get; set; }
        public string Phone { get; set; }
        public string Password { get; set; }
        public string MsgCode { get; set; }
        public DateTime? RegTime { get; set; }
        public string NickName { get; set; }
        public int? State { get; set; } 
    }
}

接下来就是通过datafirst的模式来处置数据

using Microsoft.EntityFrameworkCore;
namespace api.Model.TestEntities
{
    public partial class TestContext:DbContext
    {
        public TestContext()
        { 
        }
        public TestContext(DbContextOptions<TestContext> options) : base(options)
        { 
        
        }
        public virtual DbSet<User> User { get; set; }
        public static string ConStr { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseSqlServer(ConStr);
            }
            
        }
    }
}

在appsetting.json文件中设置数据库毗邻字符串:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第7张

Server="服务器名称;User Id=数据库登录名;Password=密码;Database=数据库名称

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第8张

 在Startup.cs在文件中获取数据库毗邻字符串:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第9张

在Model中建立User文件夹并添加两个类:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第10张

 AddUserP:主要是用于吸收客户端通报的数据后添加到数据库中:

namespace api.Model.User
{
    public class AddUserP
    {
        public string phone { get; set; }
        public string password { get; set; }
        public string nickName { get; set; }
        public int state { get; set; }
        public string sign { get; set; }
    }
}

AddUserR:复制将信息返回给客户端:

namespace api.Model.User
{
    public class AddUserR
    {
        public int code { get; set; }
        public string messages { get; set; }
    }
}

在Bo类库下建立UserBo类毗邻数据库通过ef LinQ实现往数据内里添加数据。

别忘记引入using System.Linq;命名空间,否则会报“DbSet<User> 查询模式找不到”的错误

using System.Linq; 
namespace api.Bo
{
    public class UserBo
    {
        public static Model.TestEntities.TestContext db = new Model.TestEntities.TestContext();

        /// <summary>
        /// 增添用户 --> 接口
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static Model.User.AddUserR AddUser(Model.User.AddUserP model)
        {
            var r = new Model.User.AddUserR();
            Model.TestEntities.User userSearch = (from u in db.User where u.Phone == model.phone select u).FirstOrDefault();
            if (userSearch==null)
            {
                Model.TestEntities.User user = new Model.TestEntities.User();
                user.Phone = model.phone;
                user.Password = model.password;
                user.NickName = model.nickName;
                user.State = model.state;
                db.User.Add(user);
                int i = db.SaveChanges();
                if (i > 0)
                {
                    r.code = 1;
                    r.messages = "数据插入乐成";
                }
                else
                {
                    r.code = 0;
                    r.messages = "数据插入失败";
                }

            }
            else
            {
                r.code = 0;
                r.messages = "手机号已存在";
            }
            return r;
        }
    }
}

在Controllers文件夹下建立一个Userapi接口:

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第11张

/// <summary>
/// 新增 --> 用户信息接口
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public IActionResult AddUser(api.Model.User.AddUserP model)
{
    var r =api.Bo.UserBo.AddUser(model);
    return Ok(r);
}

接下来就是要举行接口测试了,这里我使用的是postman。下载地址:https://www.postman.com/

宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据 第12张

 

以上操作就是数据新增乐成了。。。

我也是刚刚领会.NET Core先上手玩玩,若是以上代码存在误区请注明,一起学习。谢谢!

,

sunbet

Sunbet www.hbhaka.cn立足亚洲,展望未来,期待在2019年,更好地为Sunbet代理、会员服务。无广告无弹窗免vip的免费小说每天更新最及时。

dafa888体育声明:该文看法仅代表作者自己,与本平台无关。转载请注明:宁波招聘:.NET Core+WebApi+EF接见数据新增用户数据

网友评论

  • (*)

最新评论

文章归档

站点信息

  • 文章总数:796
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1392
  • 评论总数:427
  • 浏览总数:32073