2012-01-20 48 views
9

我正在使用實體框架來調用我的存儲過程。我正在使用函數導入嚮導來檢查過程,以創建函數導入和複雜類型。我如何自動更新實體框架功能導入

我遇到的問題是我想找到一種輕鬆刷新所有複雜類型的方法。

當存儲過程今天的變化,我的過程是:

1)刷新使用EF更新嚮導存儲過程。

2.)轉到模型瀏覽器中的每個函數導入,然後單擊編輯。

3.)點擊按鈕更新複雜類型。

4.)爲我的所有函數導入手動重複此過程。

這個更新過程是很好的說明如下: http://blogs.msdn.com/b/nihitk/archive/2010/04/23/ado-net-entity-designer-in-vs-2010-stored-procedure-return-type-shape-sensing.aspx

有誰知道這既可以通過命令行或通過某種宏觀的自動化。我不需要這是構建過程的一部分。

+0

我已經證實,我真正需要做的就是刷新模型。這將照顧功能導入。要更新複雜類型,我所要做的就是在編輯功能導入屏幕上單擊複雜類型旁邊的更新按鈕。在我的情況下,我需要做大約100次。 – DTig

回答

2

查看Entity Framework附帶的EdmGen命令行工具。找出需要生成一個包含你的函數導入的EDMX的命令行開關(很可能還有很多其他的東西)。

然後編寫一個小命令行程序,使用XDocument和LINQ to XML從生成的EDMX中讀取想要的XML元素,然後使用相同的技術覆蓋真實EDMX中的元素。

如果您希望此進程成爲構建的一部分(它會減慢速度),但可將這兩個命令添加到項目屬性中項目的預構建事件命令行設置中。

其他開發人員和構建服務器也需要將新合併命令的編譯版本簽入某個地方進行調用。