2012-01-10 144 views
1

早上好,從WSDL生成實體框架類

我接管了一直使用實體框架與數據庫進行通信的人。這似乎已經完成了,有一個WSDL描述了我們在Enterprise Architect中創建的所有對象。然後將其作爲Visual Studio中的服務引用導入。

我有點困惑,所以想知道這是否是一個明智的做法。 WSDL有一個示例端口,綁定和服務,在代碼中似乎根本沒有使用。這些是否存在以便WSDL得到正確導入?

我在Google上查看,看不到任何人以這種方式從WSDL創建的示例,因此不確定這是一種常見方法。

所以當這樣做完成後,您將數據的表示形式表示爲類。那麼看起來你將它們添加到繼承自DbContext的類中,該類將在數據庫中創建表。它是否正確?

+0

再次檢查WSDL每個對象結構都是在xml模式中定義的。從WSDL中提取這些部分,你就會好起來的 – BigMike 2012-01-10 09:36:15

回答

1

如果您使用WSDL只是爲了從EA獲取數據到VS,那當然是完全錯誤的。 WSDL描述Web服務 - 端口和綁定對服務描述是強制性的。

EA專業版及以上版本直接支持模型代碼生成。你只需要設置你想使用的語言(在Project瀏覽器中選擇包含你的類和接口的文件夾,並在屬性中設置語言),然後你可以使用工具>源代碼工程>生成包源代碼。

+0

這個模型的所有類型都是<< XSDComplexType >>,而只需要是普通的類並按照你的說法生成。那麼不是創建一個WSDL並將其作爲服務引用導入,而是創建代碼,然後將它們用作DbContext中的類?所以在源代碼中不應該改變很多。但它意味着虛擬端口和綁定等不再需要在我的web.config? – Firedragon 2012-01-10 10:14:42

+0

是的。如果您不調用任何Web服務,則不需要WSDL,並且可以直接使用生成的代碼。 – 2012-01-10 10:48:20

+0

這樣做的人現在不在這裏了,問爲什麼這樣做是因爲我試圖弄清楚爲什麼要將數據模型描述爲WSDL,因爲在添加服務引用時可能存在某些內容是有用的,但似乎mabye不存在。 – Firedragon 2012-01-10 11:02:16