• Entity Framework Core 之简单介绍


    Overview

    EFCore是一个以对象映射器(O/RM)为核心的轻量级、可扩展的实体框架数据访问技术,目前支持Microsoft SQL Server、SQLite、Postgres(Npgsql)、InMeory等数据库技术

     

    获取EntityFramework Core方法:通过Nuget package安装或使用命令安装SQLSERVER

    Concepts

    EntityState

    跟EF6.X一样,这里也存在EntityState

    成员名称

    说明

    Added

    对象为新对象,且已添加到对象上下文中,但尚未调用SavaChanges方法,在保存更改后,对象状态将更改为 Unchanged。 状态为 Added 的对象在 ObjectStateEntry 中没有原始值。

    Deleted

    对象已从对象上下文中删除,在保存更改后,对象状态将更改为Detached

    Detached

    对象存在,但未被跟踪,在创建实体之后且添加到对象上下文之前,实体处于此状态。通过调用Detach方法从上下文中移除实体后,没有 ObjectStateEntry 实例与状态为 Detached 的对象关联

    Modified

    对象上的一个标量属性已更改,但尚未调用SaveChanges方法。 在不带更改跟踪代理的 POCO 实体中,调用 DetectChanges 方法时,已修改属性的状态将更改为 Modified。 在保存更改后,对象状态将更改为 Unchanged。

    UnChanged

    自对象附加到上下文中后,或自上次调用SaveChanges方法后,此对象尚未经过修改。

    Context Scope(上下文作用域)

    单个EF CORE应用程序能够利用多个Provider,例如同一个应用程序能够访问SQLServer数据库和SQLite数据库,通过每个上下文实例定义的Session严格使用单个Provider,所以可以创建一个上下文去访问SQLServer数据库,同时创建另一个实例上下文去访问SQLite数据库,但不能用创建的上下文同时去访问SQLserver和SQLite数据库。

    SQL Server LocalDB

    LocalDB是针对程序开发阶段使用的一个SQL Server Express轻量级版本的数据库引擎,因LocalDB在用户模式下启动、执行,所以没有复杂的配置。默认情况下LocalDB创建的”.mdf”文件在C:/Users/<user>目录下

    在Asp.net Core中是通过ApplicationDbContext类负责连接数据库并将对象和数据记录进行映射,首先必须在Startup.cs文件中数据库上下文是在ConfigureServcies方法中庸Dependency Injection容器进行注册,温馨提示:要使用options.UseSqlServer()方法必须引用Microsoft.EntityFrameworkCore命名空间

     

    在本地开发模式下会从Appsettings.json文件中获取链接字符串

     

    1. 填充数据库

    新建一个类用于导入数据SeedData的新类,可以使用数据库上下文来探测某个表是否创建

     

    逐个导入数据

     

    之后再Startup.cs文件最后添加引用

     

  • 相关阅读:
    客户端作业day26
    cs架构和bs架构.课堂小结day26
    魔法方法day22课堂小结
    组合封装作业day21
    组合,接口day21课堂小结
    iOS端给unity发送消息,实现两者交互。
    Unity发送参数给iOSNative并响应
    关于 iOS 10 中 ATS / HTTPS /2017 问题
    Cocopod上更新上传自己的开源框架供别人下载
    iOS适配HTTPS,创建一个自签名的SSL证书(x509)具体步骤
  • 原文地址:https://www.cnblogs.com/Terrece/p/7976184.html
Copyright © 2020-2023  润新知