1

我们在项目中使用自定义类型来表示标识符。它附加了 TypeConvertor,它总是有助于序列化。

我尝试使用 WCF 数据服务从我们的系统中公开一些数据,但遇到了一个问题。即使我用 [DataServiceKey("Id")] 属性修饰了类,Astoria 框架也不会将其识别为实体。如果我将属性类型更改为 Guid - 它完全有效:(。

如何教 WCF 数据服务理解这个简单的类?

4

2 回答 2

1

经过一些研究和大量反射器工作后,我发现这是不可能的。

WCF 数据服务具有由Alex James在非常好的系列文章中详细描述的巨大的外部元数据支持。

但是,禁止创建原始数据类型,并且实体的关键属性应该是原始类型。此外,没有可用于提供从字符串类型到字符串类型的运行时转换的执行前和执行后挂钩。

NHibernate 对 LINQ 的这种支持和有限的支持使得 Astoria 现在对我来说非常不可用。女巫很伤心。

于 2010-04-07T19:25:51.097 回答
0

只要类有一个属性 Id,DataServices 就应该正确地序列化它。如果属性名为 ID,您甚至不需要该属性。你看到我在这里做的例子了吗?此外,您还可以在http://www.Odataprimer.com上找到 OData 相关文章的完整列表。也许其中之一会有所帮助。

于 2010-04-07T12:14:51.207 回答