问题标签 [domaincontext]

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 回答
726 浏览

c# - 从 DomainContext 拒绝特定的已删除项目

我正在使用 Silverlight4 和 Ria 服务:

想象我们有一个包含 3 条记录( 1 、 2 、 3 )的表(称为“MyTable”),我刚刚在我的应用程序的某处编写了以下代码:

由于某些原因,在点击“保存”按钮之前,我想拒绝第一个删除的项目(1)但仍然想删除第二个(2)。这意味着我不能使用:

因为它会拒绝所有更改(包括我想要删除的已删除项目)所以我使用 IRevertibleChangeTracking 可以解决我的问题。像这样的事情:

但是在使用这个接口之前,我必须访问已删除的项目。起初,它试图通过 MyContext.MyTables 获取它,但它不包含已删除的记录,所以我尝试通过 EntityChangeSet 获取它:

然后我使用了 IRevertibleChangeTracking:

但是在运行之后,这行代码并没有改变记录的状态,它被保持为“已删除”,所以通过点击“保存”按钮,它被物理地从数据库中删除了!!!!!!似乎 IRevertibleChangeTracking 不适用于已删除/添加的项目(它仅适用于修改后的项目)。

那么,有没有办法从 DomainContext 中拒绝特定的已删除项目。

谢谢,

0 投票
1 回答
418 浏览

c# - 在 SubmitOperation 失败时使 DomainContext 保持最新

背景: Silverlight 4 - RIA - 实体框架 4

描述: 我有一些删除代码:

在这里,该项目从域上下文中删除,然后服务尝试在 EF 上执行操作(进而在 DB 上执行操作)。

回调方法:

Repro: 我尝试删除该项目(由于数据库中的参照完整性约束,无法删除该项目)。我收到发生错误的消息。没关系。然后,当我尝试删除其他一些项目(与任何其他实体的外键无关)时,我收到相同的消息,即使可以从数据库中删除该项目。

问题是我已经从域上下文中删除了第一项(即使它没有从数据库中删除)。因此,当我尝试删除第二个项目时,它也会从上下文中删除。提交更改时,可以从数据库中删除最后一项,但问题是针对整个上下文提交了更改,并且由于在第一步中我删除了一个无法从数据库中删除的项目,提交操作失败。

问题:在提交失败的情况下“回滚”操作的正确方法(最佳实践)是什么?我能想到的唯一想法是创建另一个域上下文并再次加载数据,但我想避免这种情况,因为加载的数据量很大。上下文是否可以返回到以前的某个状态或取消挂起的更改?如何解决这个问题?

0 投票
3 回答
247 浏览

c# - 如何在 VB.NET 中做到这一点?

我在将此 C# 代码转换为 VB.net 时遇到问题。转换为 VB.NET 后,loadLecturer 似乎有问题

在InitializeComponent()之后的VB代码

我希望转换和调试的 C# 代码

0 投票
1 回答
1161 浏览

silverlight - Silverlight DomainContext 使用两个单独的 DomainDataSources 加载

我对 DataContext 感到困惑,希望有人确认或发表评论。

用简单的英语来说,我相信 DataContext 是一个容器,可以在加载时填充实体。

例如,我有两个名为Customers和的实体Orders。我现在声明一个新的 DomainContext

Customers我像这样加载DomainDataSource

现在,如果我使用相同的域上下文加载订单

在我提交更改后ctx.SubmitChanges(),DomainContext 会返回服务器并将所有更改提交到服务器,包括客户和订单吗?甚至对这两个实体都添加了新记录并对其进行了现有编辑?

我是 Silverlight 的新手,想要对 DataContext 的工作原理有一个明确的概念,我已经阅读了白皮书,但可能找不到我正在寻找的答案。

0 投票
1 回答
502 浏览

entity-framework-4.1 - WCF RIA 变更集提交订单。为什么在父实体之前插入子实体?

这是我的问题:我正在使用 Silverlight+ WCF RIA + EntityFramework 和域数据源。我在客户端插入一个父实体,然后是一个子实体(父实体可以有很多子实体),如下所示:

当我在服务器端调用“submitChanges”时,子实体的“插入方法”在父实体之前调用。因此由于外键约束而发生异常。这里的代码被简化了。在实际情况下,我不能两次调用提交更改(一次在创建父实体后,一次在子实体创建后)

如何控制服务器端的插入顺序,或者我做错了什么?

谢谢你的帮助。

0 投票
1 回答
122 浏览

entity-framework-4 - Silverlight中如何在一个进程中调用两次提交操作?

我正在使用带有 MVVM 概念和实体框架的 Silverlight 应用程序,并且在插入值时遇到了一些麻烦。使用 SubmitChanges 方法更新、插入或删除数据。

所有挂起的更改都在一个操作中提交。

是否可以在一个过程中使用两次 SubmitChanges 方法?

因为我有以下要求:

  1. 在第一步中,我将数据插入表 B。
  2. 第二步是将数据插入表 A。这里表 A 与表 B 具有 FK 关系。这就是我仅在第一步中插入数据(表 B)的原因。

但问题是: submitChange 方法一次插入所有待处理的更改。

我需要在一个过程中提交两次数据。

0 投票
1 回答
57 浏览

c# - 如何在我的视图模型中访问我的域服务中的数据?Silverlight 5 应用程序

我是 Silverlight 的初学者,刚开始习惯,但现在遇到了问题。在我的 StudentDomainService 中,我有一个返回所有学生的方法:

StudentService 是我的应用程序业务部分的一个类(我有一个项目,我必须遵循一些要求,其中之一是拥有包含 StudentModel、StudentRepository 和 StudentService 的业务解决方案)。在 .web 解决方案中,我有 StudentDomainService 可以访问我的 StudentService 类。问题是在视图模型中我有这个方法:

但显然这是错误的,因为它完全没有任何作用,我知道问题是我没有以正确的方式使用域上下文,但我不知道如何解决这个问题,如果有人能告诉我如何解决,我将不胜感激正确地做到这一点。谢谢!

0 投票
2 回答
39 浏览

domain-driven-design - 每个司法管辖区的有界上下文,具有相似的业务流程,但领域语言和实体属性略有不同

您将如何处理具有大部分相同业务逻辑但在域语言和实体属性方面略有不同的域。这些差异因“地区”而异。

一个虚构的例子是用于管理住宅房地产的房地产系统。州/省之间使用的语言可能略有不同,在某些州,有关房地产的属性可能更详细。每个州/省都会有一个办公室来管理该“地区”的房地产。

你会为每个州/省创建一个单独的限界上下文吗?那么可能会有 50 多个限界上下文?

你会创建一个单一的限界上下文,并通过对象继承或组合来处理语言和数据的变化吗?