zoukankan      html  css  js  c++  java
  • Intern Day78

    个人理解

    本人的理解就是:DbContext是C#用来连接数据库的,基于DbContext,我们可以不用对数据库本身进行操作,只需要在C#的编译环境里面直接操作数据库就行了。然后DbSet是我们用到多少个数据表就在C#的编译环境中新建多少个DbSet。DbSet与DbContext是多对一的关系。

    简单介绍

    首先DbContext和DbSet是属于EF Core下的内容,EF Core是属于ORM(对象关系映射)框架的一种,

    作用是:开发者只需操作.NET对象,不需要关注数据库的各种Sql语句,通过对OMR的操作,达到对数据库数据的增删改查的相关操作。

    (关于ORM的优缺点,可以参考:https://www.cnblogs.com/OFSHK/p/14519472.html

    DbContext类

    是域/实体类与数据库之间的桥梁。(可以和数据库通信,管理实体到数据库的映射模型,跟踪实体的更改。)

    通过DbContext去连接数据库(和数据库通信),DbContext封装与数据库和数据模型相关的功能(管理实体到数据库的映射模型),依据数据实体状态创建SQL命令,将数据更改保存到数据库中(跟踪实体的更改)。

    DbContext 表示与数据库的一次会话,EF Core中增删改查操作都基于该类。

    一般情况下,需要创建继承于 DbContext 的自定义类,然后通过该类进行数据库操作。 在实际开发项目中DbContext会结合Repository模式和Unit Of Work模式。

    DbSet

    用于增删改查操作的实体集 。DbSet是实体对象的集合,提供了实现CRUD的相应方法。

    public DbSet<Patient>Patients { get; set; } // DbContext中每一个表加一个DbSet
    // 新增几个DbSet<TEntity>属性用来表示实体集合
    
  • 相关阅读:
    清明节实现所有网页变灰色
    点击按钮,复制文本
    Matlab笔记
    spring框架中配置mysql8.0需要注意的地方(转载)
    移动吉比特H2-2光猫超级用户与密码
    JS关闭chorme页面
    MATLAB利用solve函数解多元一次方程组
    微信聊天记录导出为csv,并生成词云图
    fmt.Sprintf(格式化输出)
    iris,context源码分析
  • 原文地址:https://www.cnblogs.com/OFSHK/p/14736030.html
Copyright © 2011-2022 走看看