带有继承错误的 T4 POCO 生成 - 派生类不会在客户端生成

发布于 2024-12-01 10:38:12 字数 361 浏览 2 评论 0原文

我制作了一个带有继承的简单 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

春庭雪 2024-12-08 10:38:12

这不是一个错误。这是常见的行为。您的服务操作返回基类,因此服务描述仅知道基类,直到您指示它也使用派生类型。最常见的解决方案是在基类上使用 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 or ServiceKnownType attribute on service or operation. Another solution (in WCF4 is using DataContractResolver) - MSDN magazine contains nice article about data contract inheritance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文