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文件中獲取鏈接字符串
?
新建一個類用于導入數據SeedData的新類,可以使用數據庫上下文來探測某個表是否創建
?
?
逐個導入數據
?
?
之后再Startup.cs文件最后添加引用
?
?
轉載于:https://www.cnblogs.com/Terrece/p/7976184.html
總結
以上是生活随笔為你收集整理的Entity Framework Core 之简单介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【例4-4】最小花费
- 下一篇: 2017-12-04HTML布局_div