带有继承错误的 T4 POCO 生成 - 派生类不会在客户端生成
我制作了一个带有继承的简单 EF4 模型。实体 B 派生自实体 A。
我正在使用 T4 POCO 模板。 (VS 2010)
在我的 Silverlight 客户端中,当向 WCF 服务添加服务引用时,仅在服务命名空间中生成基类。派生类将被忽略。
这里提到了这个错误: http://forums.silverlight.net/p/157316/352167 .aspx
但答案中的链接不会指向任何地方。
该解决方案提到您可以通过添加一些属性来解决此问题。或者,官方是否有错误修复?
I've made a simple EF4 model with inheritance. Entity B derives form Entity A.
I am using the T4 POCO Template. (VS 2010)
In my Silverlight client, when adding service reference to the WCF Service, only the base class gets generated in the service namespace. The derived class is ignored.
This bug is mentioned here: http://forums.silverlight.net/p/157316/352167.aspx
but the link in the answer doesn't lead anywhere.
The solution mentions you can workaround this by adding some attributes. Or alternatively, is there an official bug fix ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是一个错误。这是常见的行为。您的服务操作返回基类,因此服务描述仅知道基类,直到您指示它也使用派生类型。最常见的解决方案是在基类上使用
KnownType
属性,或者在服务或操作上使用ServiceKnownType
属性。另一种解决方案(在 WCF4 中使用DataContractResolver
) - MSDN 杂志包含关于数据协定继承的好文章。It is not a bug. It is common behavior. Your service operation returns the base class so the service description knows only the base class until you instruct it to use derived types as well. The most common solution is using
KnownType
attribute on your base class orServiceKnownType
attribute on service or operation. Another solution (in WCF4 is usingDataContractResolver
) - MSDN magazine contains nice article about data contract inheritance.这里有一个 KnowType 属性的示例
http://www. freddes.se/2010/05/19/wcf-knowntype-attribute-example/
Here you have an example of KnowType attribute
http://www.freddes.se/2010/05/19/wcf-knowntype-attribute-example/