问题标签 [domainservices]

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 投票
1 回答
696 浏览

silverlight - DomainService: .Include() 在客户端

是否有可能在我的客户端查询中包含子实体?我正在开发一个 Silverlight 应用程序,它使用 RIA 服务、一个 DomainService 和它背后的 EntityFramework 来访问我的数据库。为了在调用 DomainService 获取数据时获取关联实体,我必须使用 [Include] 属性修改 DomainService 的元数据,并在 DomainService 上使用 Include() 方法。 (例如 ObjectContext.Parent.Include("Child"))

但是,我觉得最终我的 DomainService 中的每个实体都有大量的方法来获取关联数据的所有不同组合,因为有时我需要一个用户和关联的角色,有时我只想让用户没有任何相关数据等等...

根据一些 RIA 教程,建议使用表达式树提供的功能来修改客户端的查询。有什么方法可以包含在客户端而不是 DomainService 的 get 方法?我觉得这一定是使用 DomanServices 时的常见问题?!

在我的研究过程中,我偶然发现了一个类似的问题,但没有任何答案,并且有人说这是不可能的。但是这个答案是在 2009 年 4 月左右发布的,从那时起,开发中发生了很多变化。

谢谢

0 投票
1 回答
435 浏览

silverlight - 与自定义 DomainService 并发

我创建了一个继承 DomainService 的类,并有一个使用 System.ServiceModel.DomainServices.Client 获取 DomainContext 的 Silverlight 应用程序。我还创建了在 DomainServices 的查询、更新、插入和删除方法中使用的 POCO 数据合同。我还有一个执行所有 LoadOperations 的 ViewModel。现在我在我的应用程序的一部分,我想将新实体添加到生成的 EntitySets 但不确定当一个用户创建新实体并设置 Key 值时会发生什么;同时另一个用户创建具有相同 Key 值的类似实体。

我在文档中看到使用了 ObjectContext,但在我的情况下,我无法使用 EntityFramework 模型生成器。所以我不得不手动创建我的数据合同。

所以我想我的问题是,有什么办法可以强制其他 Silverlight 应用程序更新数据库更改?

0 投票
2 回答
132 浏览

entity-framework - 无法模拟在类定义中设置了 EntityContext 的 TableDomainService 之类的东西

我正在尝试专门使用 Moq 来学习和实施 TDD,但我遇到了一个我无法弄清楚如何模拟的设计:

我想我需要模拟 TableDomainService 以便我可以在不启动 Azure 的情况下测试我的 AncestorDomainService 逻辑。我厌倦了这样的事情:

但是,TableDomainService 不喜欢使用泛型。我也尝试设置 EntityContext 但它是只读的。我见过其他人使用通用 DomainService 和 Repository 设计模式,但由于 TableDomainService 让我可以在幕后使用 Azure 表,所以我认为我必须坚持使用 TableDomainService<>。我只需要伪造返回的 TableDomainService、TableEntityContext 和 TableEntitySet 吗?

0 投票
3 回答
1235 浏览

c# - MVC - 域服务负责过滤还是存储库层?

我应该从域服务中过滤我的 IQueryable 结果吗?

例如...我的 3 个门户(网站)访问同一个域服务层,根据用户类型,我调用特定的存储库方法并返回结果,

当前存储库层:

最好只在存储库层中执行此操作:

然后在域服务中,我简单地做过滤器,即

注意:我有一个只读会话和在存储库层中包含 CRUD 的会话,因此请在回答时记住这一点。

第二个问题:我应该在域服务层做任何过滤吗?这一层是唯一可以修改实体的层,即 Product.Price == 25.00; 这没有委托给存储库层。

0 投票
1 回答
681 浏览

wcf - LINQ over WCF 服务 (DomainService)

我有一个简单的 DomainService:

在客户端,我生成了代理:客户端

我需要在客户端编写 LINQ 查询并在服务器端执行它并通过服务返回查询结果。

当我做:

比 client.GetCollection(100, 20) 在服务器端执行和 Skip(5) 和 Take(5) 在客户端执行。

当我做:

它抛出异常:

基础连接已关闭:连接意外关闭。

我认为这是由于 client.GetCollection(100, 90000) 返回大的结果集。

有一种方法可以更好地了解服务器故障的原因吗?并且可以在服务器上执行来自客户端的查询?我是这么认为的,因为这允许 LinqToEntitiesDomainService。但我不能使用 EF,因为我只能访问内存中存储的对象列表。

谢谢你。

日本专利局

0 投票
1 回答
385 浏览

silverlight - 有没有办法从域服务中获取当前 URL?

在 silverlight 4.0 从域服务中,有什么方法可以获取当前 URL?

0 投票
2 回答
425 浏览

c# - 向域服务类添加事件?

是否可以将事件添加到域服务类?

我有一个方法必须检查数据库中的大约 1000 条记录,我希望在域服务中执行此操作,因为将所有数据从服务器端加载到客户端并从客户端发送回来似乎有点没用到服务器端由存储过程处理。

因此,为了仍然能够向用户显示流程的哪一点,我希望有一个可以在客户端调用的事件,该事件显示它正在处理的当前记录(如数字)。

我尝试过使用我知道的唯一方法:

但这似乎不起作用,因为我无法通过在视图模型中使用“Context.CalculateRenewed”来访问它。有人知道如何完成我想要的吗?

0 投票
1 回答
1498 浏览

.net - 通过域服务 (WCF RIA) 加载实体时出现 DomainOperationException

我有一个简单的 Silverlight 项目,它只是在 IIS 7.5 系统上获取一组实体 (EF 4)。这是我的网络配置:

当我浏览到http://forecasting.mydomain.net/ClientBin/ForecastTool_2-Web-ForecastDomainSvc.svc?wsdl时,我看到了服务网页。Fiddler 没有给我任何东西让我真正继续下去。SQL Profiler 不显示命中数据库服务器的查询。正如您所料,一切都与卡西尼一起工作得很好。这是我收到的错误弹出消息的显示。只是不确定我在这里做错了什么。我觉得这应该比现在更简单......

错误对话框

0 投票
1 回答
585 浏览

silverlight - 将 WCF DomainService 数据绑定到 Silverlight 中的 TreeView 的最佳方法?

我有一个类似于这样的数据库结构:

项目

  • ID
  • 姓名
  • ParentItemFK(任务和笔记可以有任何项目作为父项;类别只能有其他类别作为父项)
  • 类别FK
  • 任务FK
  • 注意FK

类别

  • ID
  • 说明(可选)

任务

  • ID
  • 详细描述
  • 完成了

笔记

  • ID
  • 全文

这些项目将显示在 TreeView 中。项目可以是类别、任务或注释(因此只有一个 FK 列被填写)。

我想在 TreeView 中显示所有项目。我正在使用带有 WCF 的 DomainService 从后端获取数据,以便在 Silverlight 中显示。

我可以以编程方式构建要在 TreeView 中显示的对象(即创建一个对象,例如 ItemNode,每个子项都有子 ItemNode)。这可能没问题,但是当刷新 DomainService 拥有的数据时,我认为必须重建整个 ItemNodes 列表(这可能经常发生)。

如果这很重要,我在 DomainService 下使用实体框架。

有一个更好的方法吗??

谢谢!

0 投票
1 回答
142 浏览

silverlight - 如何计算实体中的元素并将其发送到带有 RIA 服务的 ViewModel?

每个人!这是我的问题:如何检索员工数量?在 DomainService 我有:

在数据服务中:

在 ViewModel 中:

我在 LoadData() 中调用 GetTechusAllPCs()(在检索到所有实体之后),然后 EmpAll 具有正确的值,但如果更改员工的计数(添加或删除一个)EmpAll 将具有与以前相同的值。如何获取实际数据?

有人可以说有什么问题吗?