我们使用自定义类型来表示我们项目中的标识符。它附加了TypeConvertor,并且总是有助于序列化。
我曾尝试使用WCF数据服务来公开我们系统中的一些数据,但遇到了一个问题。Astoria框架不能将类识别为实体,即使我已经用DataServiceKey("Id")属性修饰了它。如果我将属性类型更改为Guid -它完全有效:(。
如何教WCF数据服务理解这个简单的类?
发布于 2010-04-08 03:25:51
经过一些研究和大量的Reflector工作后,我发现这是不可能的。
WCF Data Services拥有不计其数的外部元数据支持,Alex James在“非常好的posts”系列中详细描述了这一点。
但是,基本数据类型的创建是被禁止的,并且实体的键属性应该是基本类型。此外,没有执行前和执行后的钩子来提供字符串类型之间的运行时转换。
这一点以及NHibernate对LINQ的有限支持使得Astoria现在对我来说非常不可用。巫师很悲伤。
发布于 2010-04-07 20:14:51
只要类有一个属性Id,DataServices就应该正确地序列化它。如果属性被命名为ID,你甚至不需要这个属性。你看到我做here的例子了吗?此外,您还可以在http://www.Odataprimer.com上找到与OData相关的文章的完整列表。也许其中一个能帮上忙。
https://stackoverflow.com/questions/2591773
复制相似问题