.net core + EF Core 生成实体模型和数据上下类

首先需要安装三个包:

 

一、生成实体模型和上下文

Scaffold-DbContext -Connection "Server=DESKTOP-ABCAS2C;Database=FirstDB;User Id=sa;Password=123;Encrypt=True;TrustServerCertificate=True;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/DataModels -Context DBFContext

二、Program中注册上下文、配置跨域


//注册上下文
builder.Services.AddDbContext<DBFContext>(options =>
{
    options.UseSqlServer();
});
 


//配置跨域 
//先注册服务
builder.Services.AddCors(options =>
{
    options.AddDefaultPolicy(
                      policy =>
                      {
                          //允许指定来源的访问
                          //policy.WithOrigins("http://localhost:8081","http://localhost:8080")
                          policy.AllowAnyOrigin()//允许所有来源的访问
                          .AllowAnyHeader()//允许所有类型的请求头
                          .AllowAnyMethod();//允许所有类型的请求
                          //开启允许所有来源后,不能设定要求有认证
                          //policy.AllowCredentials();
                      });
});

三、控制器中通过依赖注入使用上下文

public class ProjectController : ControllerBase
    {
        private DBFContext _con;
        public ProjectController(DBFContext dBFContext)
        {
            _con = dBFContext;
        }
        [HttpGet]
        [Route("GetProjects")]
        public List<Project> GetProjects()
        {
            return _con.Set<Project>().ToList();
        }

        [HttpPost]
        [Route("AddProjects")]
        public int AddProjects(Project pro)
        {
            _con.Projects.Add(pro);
            var res = _con.SaveChanges();
            return res;
        }

        [HttpPost]
        [Route("UpdataProjects")]
        public int UpdataProjects(Project pro)
        {
            Project p = _con.Set<Project>().Where(x => x.Id == pro.Id).FirstOrDefault();
            p.Name = pro.Name;
            //_con.Projects.Update(pro);
            return _con.SaveChanges();
        }

        [HttpPost]
        [Route("DelProjects")]
        public int DelProjects(int ID)
        {

            Project p = _con.Projects.FirstOrDefault(x => x.Id == ID);
            _con.Remove(p);
            return _con.SaveChanges();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值