是一種XML格式的純文字檔案,用以描述資料結構的概念,以統一的概念模型對映不同的形態資料來源,藉此避免接觸真正的資料結構。
包含了儲存模型、概念模型以及兩種模型相關配置資訊,以XML文字格式儲存的檔案內容,VS同時提供視覺化圖形工具
我們可以在.edmx檔按按右鍵選「開啟方式」,用XML文字編輯器打開來看內容
可以看出內容包含三個部份:
<EntityType Name="Members">
<Key>
<PropertyRef Name="MemberId" />
</Key>
<Property Name="MemberId" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
<Property Name="FirstName" Type="String" MaxLength="40" FixedLength="false" Unicode="true" />
<Property Name="LastName" Type="String" MaxLength="40" FixedLength="false" Unicode="true" />
<Property Name="Gender" Type="String" MaxLength="1" FixedLength="true" Unicode="false" />
<Property Name="DateOfBirth" Type="DateTime" Precision="3" />
<Property Name="TelephoneNumber" Type="String" MaxLength="20" FixedLength="false" Unicode="false" />
<Property Name="Street1" Type="String" MaxLength="100" FixedLength="false" Unicode="true" />
<Property Name="City" Type="String" MaxLength="100" FixedLength="false" Unicode="true" />
<Property Name="ZipCode" Type="String" MaxLength="15" FixedLength="false" Unicode="false" />
<Property Name="Email" Type="String" MaxLength="Max" FixedLength="false" Unicode="false" />
</EntityType>
可以看到一個Table的內容都被寫入在這個地方
#Code First透過典型的傳統類別物件(Plain Old Class Object-POCO)與資料庫結構進行對應,簡化整個EF開發過程。
不管是透過EF Desinger或 Code First模型所建立的EDM,都必須經由context進行資料庫的互動作業。
表示資料模型中的特定實體物件集合,當DbContext將查詢送入資料庫並取得回傳資料時,這些資料轉換成對應的EDM,然後儲存於DbSet中,並透過DbContext物件屬性公開以支援應用程式存取。
Model First/Code First比較:http://stackoverflow.com/questions/5446316/code-first-vs-model-database-first
EF: http://www.entityframeworktutorial.net/code-first/what-is-code-first.aspx