问题标签 [persistence]

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 投票
5 回答
2735 浏览

c# - 使用 LINQ to SQL 时出现问题,每个原子操作都有一个 DataContext

我已经开始在一个(有点像 DDD 的)系统中使用 Linq to SQL,它看起来(过于简化)如下所示:

现在,我遇到了一个问题。当我尝试像这样使用 SomeEntityRepository

一切正常,直到程序到达最后一个 WriteLine,因为它抛出一个ObjectDisposedException,因为 DataContext 不再存在。

我确实看到了实际问题,但是我该如何解决呢?我想有几种解决方案,但迄今为止我所想到的没有一个适合我的情况。

  • 摆脱存储库模式,并为工作的每个原子部分使用新的 DataContext。
    • 我真的不想这样做。一个原因是我不想让应用程序知道存储库。另一个是我不认为让 linq2sql 的东西 COM 可见会很好。
    • 另外,我认为这样做context.SubmitChanges()可能会比我预期的要多得多。
  • 指定 DataLoadOptions 以获取相关元素。
    • 因为我希望我的业务逻辑层在某些情况下只回复一些实体,所以我不知道他们需要使用哪些子属性。
  • 禁用所有属性的延迟加载/延迟加载。
    • 不是一个选择,因为有很多表,而且它们的链接很紧密。这可能会导致大量不必要的流量和数据库负载。
  • 互联网上的一些帖子说使用 .Single() 应该会有所帮助。
    • 显然它不...

有什么办法可以解决这个痛苦吗?

顺便说一句:我们决定使用 Linq t0 SQL,因为它是一个相对轻量级的 ORM 解决方案,并且包含在 .NET 框架和 Visual Studio 中。如果 .NET 实体框架更适合这种模式,则可以选择切换到它。(我们在实施方面还没有那么远。)

0 投票
5 回答
997 浏览

c# - .Net 数据处理建议

我刚开始写一个应用程序。它需要做的部分工作是对营养信息数据库进行查询。我所拥有的是美国农业部的SR21 数据集,格式为平面分隔的 ASCII 文件。

我需要的是建议。我正在寻找将这些数据导入应用程序并在运行时轻松快速地查询它的最佳方法。我会将它用于所有标准的东西。动态填充控件、数据网格、计算等。我还需要进行用户特定的持久数据存储。这不会是一个商业应用程序,所以希望这会打开可能性。我对 .Net Framework 3.5 很好,所以在访问数据时可以使用 Linq(只是不知道它是否是最好的解决方案)。那么,对于这种场景下的持久化存储有哪些建议呢?我应该注意什么样的陷阱?当然,总是很欣赏示例的链接。

0 投票
4 回答
6284 浏览

wcf - 会话之间的 WCF 数据持久性

我们正在开发一个基于 WCF 的系统。在这个过程中,我们试图锁定一些数据不被多个用户修改。所以我们决定有一个数据结构,它将包含执行锁定逻辑所需的信息(例如通过存储锁定对象的 ID)

我们遇到的问题是在会话之间保留该数据。无论如何我们可以避免执行昂贵的数据库调用吗?我不确定我们如何在 WCF 中做到这一点,因为它只能在打开的会话期间保存数据(在内存中)。

0 投票
6 回答
1289 浏览

asp.net - 进行 TDD 时如何最好地创建测试数据库?

在做 ASP.NET 站点(例如 ASP.NET MVC 站点)时创建测试持久层的最佳实践是什么?

我见过的许多示例在单元测试项目中使用 Moq(或其他模拟框架),但我想像 .. moq 一样将我的持久层移除,以便我的网站显示数据和内容,但它不是来自数据库。我想最后这样做。我见过的所有嘲笑的东西都只存在于单元测试中。

当人们想要(存根?)伪造一个持久层以实现快速开发时,他们会做什么实践?我使用依赖注入来处理它,并为我的持久层提供了一些硬编码的结果(这真的很手动而且很无聊)。

其他人在做什么?示例和链接会很棒:)

更新

只是一点点更新:到目前为止,我从拥有一个假存储库和一个 SQL 存储库中获得了相当多的里程——每个类都实现了一个接口。然后,使用 DI(我正在使用 StructureMap),我可以在我的假存储库或 SQL 存储库之间切换。到目前为止,它运行良好:)

(想想我在将近 11 个月前问过这个问题也很可怕,从我现在编辑这个问题开始!)

0 投票
6 回答
1158 浏览

database - Common Lisp 中的函数持久化

是否有任何 Common Lisp 的持久性解决方案,例如 Elephant,允许函数持久性?目前我的应用程序在数据库上存储一个标识符,然后在它所在的函数表中进行搜索,但是这种方法不允许存储动态创建的函数。

0 投票
7 回答
1184 浏览

database - 数据库之外是否需要事务行为?

如果没有事务,我不敢在数据库中做任何复杂的事情。几乎总是有一个简单易用的内置命令。但是,当您开始使用其他持久性数据时,您并没有得到这种简单易用的事务支持。一些例子是

  • 文件系统
  • 网络服务(我没有使用过)

即使在非持久性数据中,在出现异常后撤消工作块通常也很有用。使用一种语言获得的标准数据结构都不支持事务。

我想知道的是,为什么数据库是特例?

数据库之外的事务行为主题是否有任何有用的链接?

0 投票
1 回答
129 浏览

blackberry - IRimTable 和 PersistenceStore 是什么关系?

BlackBerry Desktop API 具有接口 IRimTable,它显然将 BlackBerry 设备上的“应用程序数据库”映射到虚拟结构(即,IRimTable 具有 IRimRecords,每个都有 IRimField),开发人员可以在连接到手持设备时浏览手持设备数据台式电脑。

同时,手持设备中的应用程序可以将其数据存储在 PersistenceStore 数据库中。我卡住的地方是 PersistenceStore API 没有定义任何表或记录或字段。

有谁知道这两个类之间的关系是什么?映射是如何工作的(如果有的话)?

0 投票
3 回答
408 浏览

asp.net-2.0 - 在 Asp.net 2.0 中如何、在哪里存储不同范围内的对象

需要问你一些帮助。

我有在 Net 2.0 中运行的网络应用程序。
我想问我应该为我的对象使用什么存储(缓存、会话、文件),因为它们有不同的使用范围。可以分为几组:
1)与访问者直接相关的对象(例如认证后收到的有关访问者的详细信息)
2)每个访问者使用的对象,因此它的应用范围(一些初始化数据,公共数据)

这些对象中的大多数都从 Web 服务获取数据,这很昂贵。

那么,考虑到速度、内存、可访问性以及我应该注意的其他方面,我的最佳选择是什么。

欢迎任何帮助。谢谢,X。

0 投票
5 回答
26851 浏览

java - ejb3-persistence.jar 源码

好吧,我一定是脑残了,因为我找不到Sun的persistence.jar或JBoss的ejb3-persistence.jar JPA包的java源。它们开源的,不是吗?

我浏览了整个 java.sun.com 站点以及 GlassFish wiki,但都是空的。

我想要一个 src.zip 或 Sun 随 Java JDK 一起提供的文件夹。

当然,我真的不必拥有它,但我觉得偶尔浏览一下源代码很有趣。它有时可以帮助我调试我的代码。

0 投票
2 回答
5207 浏览

java - JPA 事务中的 java.lang.UnsupportedOperationException

我很确定我对 JPA 不了解(我正在使用 OpenJPA)并且它导致了这个问题。我想复制一个 Job 实体。

在创建第一个副本时,运行以下代码可以正常工作。

尝试创建第二个副本失败并...

在 JobManager.copyJob() 方法中抛出此异常(在行:attachJob.getCopies().add(newJob);)...

这是我正在使用的生成的数据库模式......

查看 OpenJPA 1.2 源代码显示未实现 DetachedStateManager.getMetaData() 方法,所以我想知道为什么要调用它。有小费吗??