问题标签 [wcf-data-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1554 浏览

entity-framework - EF insert related objects

I am using silverlight client with ado.net dataservices on entity framework.

I have an Entity Contact and an Entity Address which is related with a foreign key relation ship... A contact can have 1 or more Adresses but a Address needs always at least 1 contact.. pretty basic...

I have a Repository for my contacts and Address which has a Method Add(T entity),...

On my Client I have a form with allows users to add a contact with an address

and I want to save both away to the database...

Ok i figured out that I can not save a related object graph right away so i did something like this

Is there away to do this in transations like when contact is not added address will also not be added and vice versa...

... and all what I have tried is not working...

It would be great if someone can point me in the right direction on this topic I simply want to add a related object graph =} ...

0 投票
2 回答
916 浏览

.net-3.5 - 在 ADO.NET 数据服务中添加对查找表的引用

我正在尝试使用 ADO.NET 数据服务来更新我的数据库。

表:

  • 人(PK PersonId;FK EntityRootId)
  • EntityRoot(PK EntityRootId,FK EntityTypeId)
  • 实体类型(PK EntityTypeId)

我正在尝试创建一个 EntityRoot(不幸的名称,因为它可能与 Entity Framework 的 Entity 混淆。EntityRoot 在我的域中)并将其添加到数据库中:

如何添加对 entRoot.EntityTypeId 字段的引用?

感谢您对此的任何见解。

0 投票
1 回答
373 浏览

asynchronous - ADO.NET 数据服务:非异步调用?

我在 ADO.NET 数据服务中遇到了一个问题:

在组装实体进行存储时,我需要从查找文件中获取相关值。例如,一个人的状态代码分配为“待定”,该状态代码位于名为 StatusCodes 的表中。

在 Entity Framework 中,我需要将 person.StatusCode 的值设置为 StatusCode 的一个实例。在实体框架或 LINQ2Sql 中,我会这样:

statCode 查询在 ADO.NET 数据服务中不起作用,并且我收到运行时错误,指出该函数不受支持。我认为这是因为 statCode 查找不是异步调用。

然而,

由于查询的异步性质,也不起作用,在人员保存发生之前结果不会返回。

我正确地接近这个吗?

谢谢

0 投票
3 回答
412 浏览

c# - ADO.NET 数据服务在整体设计中的位置

ADO.NET 数据服务是应用程序中的下一代数据访问层。我已经看到很多直接从 UI 层(例如 Silverlight 或 Ajax)使用它来获取数据的示例。这几乎就像拥有一个两层系统,业务层完全移除。DAL 是否应该由业务层访问,而不是直接从 UI 访问?

0 投票
2 回答
1150 浏览

jquery - 是否有 ADO.NET 数据服务 jQuery 插件?

ADO.NET 数据服务看起来很酷,我很想将它与 jQuery 支持的 ajax 网站一起使用。

StackOverflow 上的各位大佬知道 jQuery 插件可以简化针对 ADO.NET 数据服务的 CRUD 操作吗?

问候,埃吉尔。

更新:事实证明,ASP.NET AJAX 4.0(目前在预览版 4 中)对 ADO.NET 数据服务有很好的支持,看起来它与 jQuery 配合得很好。

0 投票
1 回答
800 浏览

silverlight - 使用 ADO.Net 数据服务的 Linq to Sql

我正在考虑在项目中使用 ADO.Net 数据服务,以便将数据传输到 Silverlight 客户端。我想将数据服务与我现有的 Linq To Sql 类和设计器一起使用。我可能可以将所有内容重新生成为 ADO.Net 实体对象,但由于 DRY 的原因,我觉得这将是一个糟糕的设计。

我是 ADO.Net 数据服务的新手,所以我一直在阅读它,但我发现的大多数文章都是预发布的,所以我有几个问题。

首先,我读到虽然您可以将数据服务与 Linq to Sql 一起使用,但您只能将它们用于读取数据,而不能用于写入。还是这样吗?

其次,我想拥有权限,以便只有某些用户可以查看某些表。我正在使用超越 Asp.net 成员资格和角色的自定义权限系统。ADO.Net 数据服务是否提供自定义授权访问的方法?

0 投票
2 回答
882 浏览

linq-to-sql - 在 ADO.Net 数据服务中使用 Guid

我正在把头发拉出来。我正在尝试实现使用 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 流)

0 投票
2 回答
1109 浏览

wcf-data-services - 使用从客户端库调用的参数的 ADO.Net 服务服务操作失败

控制台应用程序

服务

结果:(相对于http://localhost:1478/Apress.Data.Services.CustomerService.Host/

RequestUri: CustomerDataService.svc/GetCustomerByLastName()?lastname=S

并因此失败,因为 uri 中的括号不是预期的。

CustomerDataService.svc/GetCustomerByLastName?lastname='S'

在浏览器中工作。

与 2008 SP1 相比。

0 投票
1 回答
407 浏览

asp.net - 如何使用 ADO.NET 数据服务实现“获取最新更改的项目”?

假设我有一个实体列表(例如,TODO 项目列表),多个用户可以同时更改、删除和添加这些实体列表。

因此,为了维护所有客户端之间的同步列表,我希望每个客户端(基于 AJAX)每 xx 秒请求一次更改。由于列表可能会变得很长,我不想每次都做一个完整的请求,而只要求更改的项目(项目可以更新、删除或新建)。

是否可以使用 ADO.NET 数据服务?如果是这样,如果我在服务器上使用实体框架,我该如何实现它?

我已经考虑使用 ASP.NETs 缓存在将更改操作提交到数据服务时存储更改项,并且有一个自定义 Web 方法可以返回自特定客户端上次请求以来的最新更改(可以通过客户端跟踪请求ASP.NETs 会话对象)。但是,我不知道如何在结果集中指示单个项目的更改状态(例如,删除或更新或插入)。

一个很好的解决方案还可以让客户端在与服务器的同一次往返中请求对许多实体进行更改。

任何输入都会很受欢迎。

最好的问候,埃吉尔。

0 投票
2 回答
1879 浏览

wcf-data-services - 如果实体位于 ado.net 数据服务中的项目列表中,则查询拦截器返回 true

我正在使用 ado.net 数据服务,并希望在查询拦截器中实现行级安全性,以将数据限制为仅返回允许用户查看的数据。复杂性在于用户的用户名在另一个表上。所以我想我可以根据该用户的 OnlineSubscription 表中的条目检索用户可以看到的事件列表,然后返回当前事件是否与返回的任何条目匹配,如下所示:

但是,这会引发“未实现”异常。所以我的问题是:是否有正确的方法将当前实体与查询拦截器中的实体列表进行比较?

编辑:我也试过:

没有任何成功(再次获得“未实施”异常)。