【问题标题】:WCF RIA Services for POCO as a query parameter用于 POCO 的 WCF RIA 服务作为查询参数
【发布时间】:2011-07-07 21:52:32
【问题描述】:

我在 DomainService 类中定义了以下方法,但出现编译器错误: 域操作条目“GetPropertiesByGuiObject”的参数“objectType”必须是预定义的可序列化类型之一

public IQueryable<PropertyType> GetPropertiesByGuiObject(ObjectType objectType)
{
  return properTypeDA0.GetPropertiesByGuiObject(objectType).AsQueryable();
}

ObjectType 是我定义的一个 POCO 类。 我已将 [Serializable] 或 [DataContract] 属性添加到 ObjectType 类定义,但错误仍然存​​在。 域操作入口的参数可以是POCO对象吗?

【问题讨论】:

    标签: silverlight wcf wcf-ria-services


    【解决方案1】:

    您使用的是 VS 2010 SP1 吗?在 WCF RIA Services 的第一个版本(带有 VS 2010 RTM)上,它不支持复杂类型,但在 SP1 版本中,添加了这种支持。您可以在http://msdn.microsoft.com/en-us/library/gg602753http://blogs.msdn.com/b/digital_ruminations/archive/2010/10/28/complextypes-in-ria-services.aspx 找到更多信息。

    【讨论】:

      【解决方案2】:

      不幸的是,WCF RIA 服务(至少当前版本)不允许您将任何复杂类型或 POCO 作为参数传递给您的 Get 查询。这里的“预定义”是指一小组类型,如字符串、guid 等。

      我通常会传递一个 ID 或一些引用来绕过这个。

      希望这能回答你的问题。

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-20
        • 1970-01-01
        • 1970-01-01
        • 2011-04-22
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        • 1970-01-01
        相关资源
        最近更新 更多