我正在把头发拉出来。我正在尝试实现使用 Linq to SQL 数据上下文的 ADO.Net 数据服务。我以为我可以正常工作,但我的一张表的 URL 总是出现异常。
不工作的表和正常工作的表之间的明显区别在于,获得异常的表使用的是主键 Guid。Guid 是一个 UserID,它实际上与 ASP.net Membership 使用的 UserId 相关。(我没有公开 ASP.net 成员表,但我猜如果我公开这些表也会中断。)
这是一个非常简单的表:名称:UserDetails :: | 指导用户 ID | int GroupID (外键) | 字符串名称 |
有人知道让Guids工作是否有技巧吗?或者,如果这可能是一个完全不同的问题?
以下是服务的异常:处理此请求时发生错误。
InnerError:处理此请求时发生错误。
类型:System.InvalidOperationException
StackTrace: t System.Data.Services.Serializers.SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject,ResourceType在 System.Data.Services.Serializers.SyndicationSerializer.WriteComplexObjectValue(Object element, String propertyName, ResourceType expectedType, String relativeUri, DictionaryContent content) 在 System.Data.Services.Serializers 的 resourceType、Uri absoluteUri、String relativeUri、SyndicationItem 项、DictionaryContent 内容) .SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject,ResourceType resourceType,Uri absoluteUri,字符串 relativeUri,SyndicationItem 项,DictionaryContent 内容)在 System.Data.Services.Serializers.SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject、ResourceType resourceType、Uri absoluteUri、String relativeUri、SyndicationItem 项、DictionaryContent 内容)在 System.Data.Services.Serializers.SyndicationSerializer.WriteEntryElement(IExpandedResult 扩展,对象元素,类型 expectedType,Uri absoluteUri,字符串 relativeUri,SyndicationItem 目标)在System.Data.Services.Serializers.SyndicationSerializer.<DeferredFeedItems>d__0.MoveNext() 在 System.ServiceModel.Syndication.Atom10FeedFormatter。在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeedTo(XmlWriter writer, SyndicationFeed feed, Boolean isSourceFeed) 上的 WriteItems(XmlWriter writer, IEnumerable`1 items, Uri feedBaseUri)。 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展,IEnumerator 元素,布尔 hasMoved)在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults,Boolean)的 ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)SyndicationFeed 提要,布尔 isSourceFeed) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) 在 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展, IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)SyndicationFeed 提要,布尔 isSourceFeed) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) 在 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展, IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)