2012-01-10 149 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