Entity Framework

出自ProgWiki
(重新導向自ADO.NET Entity Framework
跳至導覽 跳至搜尋

Entity Framework,舊名ADO.NET Entity Framework,參照:『維基百科~ADO.NET_Entity_Framework』。

  • Entity Framework 是微軟以 ADO.NET 為基礎所發展出來的物件關聯對應 (O/R Mapping) 解決方案,早期被稱為 ObjectSpace,現已經包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中發表。
  • Entity Framework 以 Entity Data Model (EDM) 為主,將資料邏輯層切分為三塊,分別為 Conceptual Schema, Mapping Schema 與 Storage Schema 三層,其上還有 Entity Client,Object Context 以及 LINQ 可以使用。

版本

版本 技術文件 下載
3.5
4.0
4.5
5.0
6.0

技術文件

相關下載

NuGet

Entity Framework ADO.NET providers

Database Provider name
Microsoft SQL Server Analysis Services (SSAS) SSAS Entity Framework Provider
DB2 IBM Data Server Provider
Caché InterSystems Caché Managed Provider
EffiProz EffiProz ADO.NET Provider
Firebird Firebird ADO.NET Data Provider
Informix IBM Data Server Provider
Microsoft SQL Server SqlClient
MySQL Devart dotConnect for MySQL
MySQL Connector/NET
Oracle Oracle Data Provider for .NET (ODP.NET)
DataDirect ADO.NET Data Provider for Oracle
Devart dotConnect for Oracle
PostgreSQL Devart dotConnect for PostgreSQL
Npgsql
SQLite Devart dotConnect for SQLite
System.Data.SQLite
Sybase SQL Anywhere Sybase iAnywhere
Virtuoso Universal Server Virtuoso ADO.Net Provider
VistaDB VistaDB provider

FAQ

關於Code First的Table自動建立

  • 取消自動建立(例如MyDBContext)
System.Data.Entity.Database.SetInitializer<MvcApplication1.Models.MyDBContext>(null);
  • 刪除Table後,讓Entity Framework重建DB (需要同時刪除 Table __MigrationHistory )
drop table  __MigrationHistory;

Entity Framework 與 Stored Procedure

在Code First模式使用Stored Procedure

Entity Framework查詢時與資料庫裡的異動資料同步

ObjectQuery query = MyEntities.Students;
query.MergeOption = MergeOption.OverwriteChanges;
var students = query.Where(s => s.Age > 20).ToList();

Entity Framework的查詢方式

下列3種任選一種使用

Entity Framework更改連線設定