EDM 產生器 (EdmGen.exe)

EdmGen.exe 是用於處理 Entity Framework 模型和對應檔案的命令列工具。 您可以使用 EdmGen.exe 工具執行下列動作:

EdmGen.exe 工具是安裝在 .NET Framework 目錄。 在許多情況下,這是位於 C:\windows\Microsoft.NET\Framework\v4.0。 若為 64 位元系統,則是位於 C:\windows\Microsoft.NET\Framework64\v4.0。 您也可以從 Visual Studio 命令提示字元 (按一下 [開始],依序指向 [所有程式]、[Microsoft Visual Studio 2010] 和 [Visual Studio 工具],然後按一下 [Visual Studio 2010 命令提示字元]) 存取 EdmGen.exe 工具。

EdmGen /mode:choice [options]

模式

使用 EdmGen.exe 工具時,必須指定下列其中一個模式。

模式 說明

/mode:ValidateArtifacts

驗證 .csdl、.ssdl 和 .msl 檔案,並顯示任何錯誤或警告。

這個選項至少需要 /inssdl/incsdl 兩個引數其中之一。 如果指定 /inmsl,則也要有 /inssdl/incsdl 引數。

/mode:FullGeneration

使用 /connectionstring 選項中指定的資料庫連接資訊,並產生 .csdl、.ssdl、.msl、物件層和檢視表檔案。

這個選項需要 /connectionstring 引數以及 /project 引數或是 /outssdl/outcsdl/outmsdl/outobjectlayer/outviews/namespace/entitycontainer 其中一個引數。

/mode:FromSSDLGeneration

從指定的 .ssdl 檔案產生 .csdl 與 .msl 檔案、原始程式碼和檢視表。

這個選項需要 /inssdl 引數及 /project 引數或 /outcsdl/outmsl/outobjectlayer/outviews/namespace/entitycontainer 引數。

/mode:EntityClassGeneration

建立原始程式碼檔案,其中包含從 .csdl 檔案產生的類別。

這個選項需要 /incsdl 引數及 /project 引數或 /outobjectlayer 引數。 /language 引數是選擇性的。

/mode:ViewGeneration

建立原始程式碼檔案,其中包含從 .csdl、.ssdl 和 .msl 檔案產生的檢視表。

這個選項需要 /inssdl/incsdl/inmsl/project/outviews 引數。 /language 引數是選擇性的。

選項

選項 說明

/p[roject]:<string>

指定要使用的專案名稱。 專案名稱會當成命名空間 (Namespace) 設定的預設值、模型和對應檔案的名稱、物件來源檔案的名稱和檢視表產生來源檔案的名稱。 實體容器 (Container) 名稱會設定成 <project>Context。

/prov[ider]:<string>

要用來產生儲存模型 (.ssdl) 檔案的 .NET Framework 資料提供者的名稱。 預設提供者為 .NET Framework Data Provider for SQL Server (System.Data.SqlClient)。

/c[onnectionstring]:<連接字串>

指定用來連接至資料來源的字串。

/incsdl:<file>

指定 .csdl 檔案或 .csdl 檔案所在的目錄。 這個引數可多次指定,因此您能指定數個目錄或 .csdl 檔案。 當概念模型被分割成數個檔案後,指定多個目錄會有助於產生類別 (/mode:EntityClassGeneration) 或檢視表 (/mode:ViewGeneration), 而這也有助於驗證多個模型 (/mode:ValidateArtifacts)。

/refcsdl:<file>

指定用於解析來源 .csdl 檔案中任何參考的其他 .csdl 檔案 (來源 .csdl 檔案是由 /incsdl 選項所指定的檔案)。 /refcsdl 檔案包含來源 .csdl 檔案相依的類型。 這個引數可多次指定。

/inmsl:<file>

指定 .msl 檔案或 .msl 檔案所在的目錄。 這個引數可多次指定,因此您能指定數個目錄或 .msl 檔案。 當概念模型被分割成數個檔案後,指定多個目錄會有助於產生檢視表 (/mode:ViewGeneration), 而這也有助於驗證多個模型 (/mode:ValidateArtifacts)。

/inssdl:<file>

指定 .ssdl 檔案或 .ssdl 檔案所在的目錄。

/outcsdl:<file>

指定將建立的 .csdl 檔案名稱。

/outmsl:<file>

指定將建立的 .msl 檔案名稱。

/outssdl:<file>

指定將建立的 .ssdl 檔案名稱。

/outobjectlayer:<file>

指定原始程式碼檔案,其中包含從 .csdl 檔案產生的物件。

/outviews:<file>

指定原始程式碼檔案,其中包含已產生的檢視表。

/language:[VB|CSharp]

指定所產生之原始程式碼檔案的語言。 預設語言為 C#。

/namespace:<string>

指定要使用的模型命名空間。 執行 /mode:FullGeneration/mode:FromSSDLGeneration 時會在 .csdl 檔案中設定命名空間。 執行 /mode:EntityClassGeneration 時不會使用命名空間。

/entitycontainer:<string>

指定要套用到產生的模型和對應檔案中 <EntityContainer> 項目的名稱。

/pl[uralize]

將英語的單數和複數規則套用到概念模型中的 EntityEntitySetNavigationProperty 名稱。 這個選項會執行下列動作:

  • 單數化所有 EntityType 名稱。

  • 複數化所有 EntitySet 名稱。

  • 針對每個在一個實體內傳回大部分的 NavigationProperty,單數化其名稱。

  • 針對每個在多於一個實體內傳回的 NavigationProperty,複數化其名稱。

/SupressForeignKeyProperties or /nofk

防止外部索引鍵資料行公開為概念模型中實體類型上的純量屬性。

/help?

顯示工具的命令語法和選項。

/nologo

隱藏著作權訊息。

本章節內容

HOW TO:使用 EdmGen.exe 產生模型和對應檔

HOW TO:使用 EdmGen.exe 產生物件層程式碼

HOW TO:使用 EdmGen.exe 驗證模型和對應檔

另請參閱

其他資源

Entity Data Model Tools
Entity Data Model
CSDL、SSDL 和 MSL 規格