2014-09-02 79 views
3

我想從查詢中找到生成edmx文件的方法,我知道我們可以從數據庫更新模型。但是,就我而言,我們將所有SQL定義腳本存儲在一個文件中。我需要一種從這些腳本生成edmx的方法,而不是在數據庫上運行腳本文件,然後再從數據庫生成edmx。以編程方式從SQL查詢生成edmx文件

+0

這應該是一個功能請求在https://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/。 – 2014-09-02 09:25:05

回答

1

的原因,這通常是不可能的是edmgen查詢DB實體及其屬性的列表。但是,在腳本中沒有「實體」或任何內容,只有具有SQL風格的文本。它需要被解析和執行(無論這種結果是什麼形式),通過了解這種SQL的特性來創建這些實體的某些表示,以便它們可以被檢查 - 即至少是一個半功能的SQL服務器。

如果你不想打擾完整的MSSQL安裝和數據庫部署(我相信這是問題的主要原因),你可以使用SQL Server Compact,而不是每個VS安裝捆綁在一起。它將數據庫保存在一個位於指定位置的單個文件(如BerkleyDB或SQLite),然後您可以刪除它。

Steve Lasker's Web Log - Creating your SQL Server Compact Edition database and schema in code解釋了在.NET代碼中這樣做的一種方法。還有第三方sqlcmd對應的mssql compact - sqlcecmd,您可以通過它直接從命令行執行相同操作。

Differences Between SQL Server Compact and SQL Server列出了前者的侷限性。關於DDL最激烈的一個是沒有程序,觀點和先進指數。但是,它們並未被香草使用(不同於大量定製的)實體框架。

+0

感謝您更詳細地指出我的實體框架無法實現的原因。 – 2014-09-11 04:30:23

相關問題