问题标签 [objectcontext]

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

entity-framework-4 - 使用 DI 工具 unity 创建 EF ObjectContext 对象

我尝试使用下面的脚本在容器中注册类型,效果很好

但是,当我尝试使用 xml 配置时:

这没用。错误信息是:

描述:

异常详情:

堆栈跟踪是:

有人可以提出一些建议吗?非常感谢

0 投票
1 回答
2600 浏览

c# - ObjectContext 可能处于不一致的状态

我在使用 EntityFramework 4.0 创建关系时出错

对数据库的更改已成功提交,但在更新对象上下文时出错。ObjectContext 可能处于不一致的状态。内部异常消息:无法检索关系“CodeFirstNamespace.EventsIndex_Module”的元数据信息。如果使用映射属性,请确保已在程序集中定义了关系的 EdmRelationshipAttribute。使用基于约定的映射时,无法确定分离实体之间关系的元数据信息。参数名称:relationName

0 投票
3 回答
2560 浏览

c# - C# Entity Framework 4 导航属性导致提交时性能下降

对于这个问题缺乏细节,我深表歉意——我需要帮助的第一件事是知道在哪里寻找更多细节。

我在提交更改时遇到了实体框架 4 导航属性的问题,显然导致性能不佳:

当导航属性之一(收据表)包含大约 8000 行(不多,所以应该没问题)时,需要 30 多秒。

我使用了 SQL 探查器,可以看到 EF 发出 select * from Receipts 并且它非常慢:

目前我什至不明白为什么在调用 ObjectContext.SaveChanges() 时需要从该表中选择所有行。

它确实需要在该表中插入 1 行,但这并不能解释为什么它首先选择全部 - 也不能解释为什么该选择需要这么长时间(相同的查询在查询管理器中需要 < 1 秒)

所以我现在的问题 - 我还不完全知道问题是什么 - 是:

  • 我在哪里/如何查找有关该问题的更多详细信息?我无法调试到 ObjectContext.SaveChanges(),所以我不知道里面发生了什么。
  • 为什么 EF 会尝试从 Receipts 中选择 *?
  • 为什么这么慢?复制+粘贴到查询管理器中的完全相同的查询几乎是即时的

编辑:

通过注释掉对此方法的调用,我已经确认收据代码很慢:

但我仍然不明白为什么这会导致 EF 发出 select * 查询。

我认为这可能是由invoice.Receipts.Add(receipt). 因为之前那行 invoice.Receipts 是空的,并且为了 .Add 到 Receipts,它必须先加载集合。但是,这并不能解释为什么它是按warehouseId=1 选择的,而它应该按invoiceId 选择。

编辑2:

我已通过用直接 SQL 命令替换此方法中的 EF 代码来“解决”该问题。这不是一个好主意——当我有一个非常好的 ORM 时,我不应该到处乱扔 SQL。但是现在我仍然不明白为什么 EF 正在运行 select * 查询

0 投票
3 回答
4571 浏览

c# - 从实体对象获取 ObjectContext 引用的最快方法是什么?

我正在为我的 EntityFramework 对象创建扩展,如如何:自定义生成的数据对象中所述,但在其中一些扩展中,我需要获取实例的 ObjectContext 以查找模型中的其他一些值。我找到了提示 24 – 如何从实体获取 ObjectContext,但这是几年前写的,在类似的 SO 问题中引用了它,但我真的希望现在有更好的答案。

当然,这必须是经常需要的东西,以至于从实体本身检索实体的对象上下文应该得到官方方法的支持。

提前感谢您提供有关此实施的最新信息。

0 投票
0 回答
385 浏览

c# - 传递 ObjectContext EF 4.0

我有两个类 Queries 和 ContactRepository。

当我调用 CreateContactAddress() 时,SaveChanges() 方法崩溃并出现以下错误:

无法确定相关操作的有效排序。由于外键约束、模型要求或存储生成的值,可能存在依赖关系。

我可以将 LINQ 查询移动到 CreateContactAddress() 方法本身,并且一切正常。谁能解释发生了什么?

0 投票
2 回答
489 浏览

entity-framework - 实体框架和存储库,将开放上下文传递给控制器​​是否安全?

基本上我有一个存储库来控制对我的 EF 模型的访问。它创建引用,然后根据正在访问的存储库,返回被请求的实体。现在我正在公开一个 IQueryable Get 方法,它将直接从活动的 ObjectContext 返回实体。好的做法告诉我,我应该将任何 ObjectContext 使用包装在 using 语句中,以确保它被正确处理,但是当我从存储库执行此操作时,我收到一个错误,即在控制器加载它时 ObjectContext 已经被处理。我已经删除了使用,然后它工作得很好,但我想知道通常应该如何处理这个问题。我想维护一个 IQueryable 返回,因为我可能需要对其执行各种命令。有什么建议么?如果多个 HTTP 请求开始进入,EF 是否有助于保护我免于打开连接?

错误输出:

有效但不能帮助我晚上入睡:

我的控制器目前正在做的就是:

0 投票
1 回答
529 浏览

service - 服务上下文和对象上下文有什么区别?

我无法理解服务上下文和对象上下文之间的区别。

我的意思是,它们在哪里使用?基本区别是什么?

0 投票
1 回答
1761 浏览

entity-framework - 通用对象上下文?objectContext.GetObjectSet?

有没有办法获得ObjectQuery<T>指定的泛型类型?

伪:

0 投票
2 回答
249 浏览

java - 我需要帮助才能使用通过 java 的 Rococoa 访问的 object-c 在 Mac OSX 中获取当前登录用户

我是 Mac OSX 的新手,我想为我正在工作的 Intranet 身份验证应用程序获取登录用户。我已经阅读了有关 Rococoa 以及如何使用它来访问本机 object-c 方法和属性的信息。是否有初学者教程或用户指南?请帮忙。

0 投票
1 回答
1027 浏览

multithreading - 使用实体框架的多线程子查询引发错误

我一直在尝试更新我的代码在数据库查询方面的性能。我目前遇到的问题是我似乎无法找到为每个子查询获取新上下文的方法。

使用下面的简化代码将不一致地生成“底层提供程序在打开时失败”。

到目前为止,解决此问题的唯一方法似乎是使用新上下文为每个子查询重建整个查询。有什么方法可以避免使用新的上下文从下到上构建每个查询?我可以改为将每个子查询查询附加到新的上下文吗?我正在寻找类似下面的东西。