Asp.Net Core由零开始(九)———数据库上下文

EF框架作用

1.将模型中定义的实体和关系映射到数据库中
2.从数据库返回的数据实体化为实体对象
3.跟踪我们对实体对象所做的更改
4.并发处理特性
5.将对象更改更新到数据库

6.将对象绑定到控件

DBContext

DBContext主要负责与视为对象的数据进行交互
栗子
1.创建一个SimpleDBContext类继承自DbContext类,并且将其放进放模型的文件夹中,以便使用

using System;
using Microsoft.EntityFrameworkCore;

namespace Simple.Models
{
    public class SimpleDBContext:DbContext
    {
        public SimpleDBContext()
        {
        }
    }
}

2.实现一个类型的DbSet,每个DbSet将映射到数据库中的一个表

using System;
using Microsoft.EntityFrameworkCore;

namespace Simple.Models
{
    public class SimpleDBContext:DbContext
    {
        public SimpleDBContext()
        {
        }
        public DbSet<Product> Products{get; set:}
    }
}

3.添加另一构造函数,该构造函数中接受一个 DbContextOptions对象并将其传递给 DbContext 的基础构造函数

using System;
using Microsoft.EntityFrameworkCore;

namespace Simple.Models
{
    public class SimpleDBContext:DbContext
    {
        public SimpleDBContext()
        {
        }
        public SimpleDBContext(DbContextOptions<SimpleDBContext> options)
            : base(options)
        {
        public DbSet<Product> Products{get; set:}
    }
}

4.控制器

public class HomeController: Controller
    {

        public ViewResult Index()
        {

            var model = new HomePageViewModel();
            using (var context = new SimpleDBContext())
            {
                SQLProductData sqlData = new SQLProductData(context);
                model.Products = sqlData.GetAll();
            }

            return View(model);
        }
    }  

    public class SQLProductData 
    { 
        private SimpleDBContext _context { get; set; }

        public SQLProductsData(SimpleDBContext context)
        { 
            _context = context;
        } 

        public void Add(Product pro)
        { 
            _context.Add(pro); 
            _context.SaveChanges(); 
        } 

        public Product Get(int ID)
        { 
            return _context.Products.FirstOrDefault(e => e.ID == ID); 
        } 

        public IEnumerable<Product> GetAll() 
        { 
            return _context.Products.ToList<Product>(); 
        } 
    } 

    public class HomePageViewModel
    { 
        public IEnumerable<Product> Products { get; set; } 
    } 
} 

定义了上下文添加新对象的方法,根据ID返回一个数据的方法,返回所有数据列表的方法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值