码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Framework Core 之简单介绍

时间:2017-12-04 13:21:01      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:ica   zh-cn   sys   名称   轻量   ack   实体   ati   local   

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文件最后添加引用

 技术分享图片

 

Entity Framework Core 之简单介绍

标签:ica   zh-cn   sys   名称   轻量   ack   实体   ati   local   

原文地址:http://www.cnblogs.com/Terrece/p/7976184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!