提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:本文主要介绍使用asp.net core + ef创建的webapi项目
记录一个简单的asp .net core webAPI项目的例子。
提示:以下是本篇文章正文内容,下面案例可供参考
一、ORM相关
ORM是什么
ORM(Object-relational mapping),中文翻译为对象关系映射。是一种描述面向对象和关系型数据库映射的元数据。
使用ORM举例
使用ado.net 操作数据库,我们通常是这样写的。
string sql = "select * from t_students;";
OracleCommand oraclecmd = new OracleCommand(connection, sql);
Datatable dt = oraclecmd.Execute();
string stuName = dt(0)["name"];
那么,如果使用orm框架的话,我们可以这样做。
Student stu = stuRepository.GetStudent(3);
string stuName = stu.getFristName();
//这里可以使用linq和lambda表达式对数据进行检索过滤
//string stuName = stu.select(s => s.name == "张三");
二、什么是ef6和ef core?
Entity Framework是.net的ORM框架,于2008年发布,但是Entity Framework只能在.ET Framework 4.x 上运行,这意味着它仅在 Windows 上运行。
Entity Framework Core是在2016年对Entity Framework的一次重写,支持跨平台。
webAPI项目
项目结构
Model中是实体类
创建orm上下文类
namespace WebAPI.Controllers
{
[ApiController]
[Route("api/[controller]/[action]")] // 路由配置
[EnableCors("CorsPolicy")] //允许跨域
public class userController : ControllerBase
{
private userDbContent _userDbContent;
public userController(userDbContent dbContent)
{
_userDbContent = dbContent;
}
[HttpGet(Name = "addUser")]
public string addUser(string _user)
{
try
{
var user = JsonConvert.DeserializeObject<t_user>(_user);
_userDbContent.Add(user);
_userDbContent.SaveChanges();
}
catch(Exception ex)
{
return ex.Message.ToString();
}
return "ok";
}
[HttpGet(Name = "getUserList")]
public List<t_user> getUserList()
{
return _userDbContent.t_user.ToList();
}
}
}