问题标签 [dbcontext]

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 投票
16 回答
263516 浏览

sql - 如何使用实体框架只更新一个字段?

这是桌子

用户

和代码..

0 投票
2 回答
459 浏览

entity-framework - 我错过了什么?(此 EntitySet 中已存在具有相同标识的实体。)

我在实体框架场景中使用 DTO 和转换器。我想更新一个实体。所以我把这个声明: databasecontext.Tablename(s).Attach(entityobj); 每当它到达这里,程序就会以这个错误结束: An entity with the same identity already exists in this EntitySet

我觉得我可以 databasecontext.Tablename(s).Detach(entityobj); 在我再次打电话给 Attach 之前说一下来解决这个问题。但是程序仍然在 Attach 语句上失败。

我错过了什么?数据库上下文中的哪个方法调用域服务中的更新?

0 投票
6 回答
1078 浏览

asp.net-mvc - 上下文到底是什么?

我开始在任何地方看到上下文。在 ASP.NET MVC 中,有 ControllerContexts、RequestContexts、HttpContexts、FormContexts。在实体框架中,您有 ObjectContexts 和 DbContexts。Ninject 有 Ninject.Activation.IContext。

上下文到底是什么?

0 投票
1 回答
27093 浏览

entity-framework - EF Code First DBContext 和事务

我想知道用DBContext. 尤其,

  1. DbContext.SaveChanges如果我更改多个实体,是否在内部实现事务?
  2. 如果我想DbContext.SaveChanges多次调用(相同的contxet/不同的contxets),如何实现交易?
0 投票
15 回答
185473 浏览

c# - 如何使用 DbContext 和 SetInitializer 修复 datetime2 超出范围的转换错误?

我正在使用 Entity Framework 4.1 引入的 DbContext 和 Code First API。

数据模型使用基本数据类型,例如stringDateTime。在某些情况下,我使用的唯一数据注释是[Required],但这不在任何DateTime属性上。例子:

DbContext子类也很简单,如下所示:

初始化程序将模型中的日期设置为今年或明年的合理值。

但是,当我运行初始化程序时,我在以下位置收到此错误context.SaveChanges()

将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止。

我不明白为什么会发生这种情况,因为一切都那么简单。我也不确定如何修复它,因为没有要编辑的 edmx 文件。

有任何想法吗?

0 投票
1 回答
16737 浏览

asp.net-mvc-3 - 不允许添加与处于已删除状态的实体的关系

我正在尝试以以下方式删除对一对多关系中实体的引用,但是当我尝试将对象“o”附加到我的 DbContext 时收到错误消息。错误是:

“不允许添加与处于已删除状态的实体的关系。”

我还尝试了以下方法来代替设置 EntityState:

删除它的正确方法是什么?

更新:

这是我现在运行的代码。关键是不要将子实体从视图模型映射回父实体模型,以便我可以单独处理它们。

0 投票
2 回答
4521 浏览

c# - EF DbContext 和 Ninject

不久前我问了一个问题,为什么当我合并两个实体集合时默认的相等比较器似乎不起作用。

EF Code First - Linq to Entities Union EqualityComparer

答案是因为我使用了我的 DbContext 的两个不同实例,因此使用了不同的引用。

所以现在我试图在请求中共享我的 DbContent 。我看到了一些“复杂”的例子,但我想我会尝试一个更简单的解决方案。

所以我创建了一个 IDbContext 接口,它简单地概述了我的实体

然后我的 DbContext 是这样实现的:

然后在我的两个存储库(NewsRepository 和 CategoryRespository)中,我将 IDbContext 作为构造函数参数

所以现在我假设如果我在请求范围内将 IDbContext 绑定到 SiteContext 我的存储库将共享相同的上下文?

但是,当我从上一个问题再次尝试我的联合时,我仍然收到重复的实体!我做错了什么?如何判断我是否确实在一个请求中使用了相同的上下文?

0 投票
3 回答
20751 浏览

entity-framework - 如何在 EF 4.1 中遍历我的 dbcontext 实体?

我正在使用 ASP.NET 实体框架 4.1 MVC 3 (C#)

我想遍历我的 DbContext 中的所有实体。我需要能够动态引用我的实体才能制作动态视图。

我读过 Lerman 的书、两本 MVC(2 和 3)书、msdn、asp.net 等。也许我只是遗漏了一些东西?

似乎您可能必须使用 ObjectContext 才能访问实体。如果这是正确的方法,我肯定不知道该怎么做。请帮忙。谢谢你。

0 投票
1 回答
1058 浏览

c# - ObjectContext 中是否有不可用的 DbContext 函数?

Microsoft 有一篇介绍 DbContext 功能的介绍文章。

其中一些,比如过滤我在 ObjectContext 中没有看到的相关实体。

该功能对于 DbContext 来说真的是新功能并且在 ObjectContext 中不可用吗?其他“新”功能是什么?还是 DbContext 只是 ObjectContext 所具有的相同功能的简化 API?

0 投票
2 回答
5349 浏览

validation - 实体框架 IValidatableObject 引用 DbContext

我正在尝试让 EF 4.1 与 Repository、UnitOfWork、实体与 EF 的分离和验证一起工作。

我按照指南将我的 POCO 实体与 EF 模型很好地分离,现在我正在按照指南实施验证(使用 IValidatableObject)。

我的解决方案包括:

  • Contacts.Repository [引用 EF 和 Contacts.Entities]:
    • 联系人.edmx
    • ContactsDbContext.cs
  • Contacts.Entities [无引用]:
    • Contact.cs(Contacts.Entities.Contact 部分类)
  • Contacts.Validation [引用 Contacts.Entities 和 Contacts.Repository]
    • Contact.cs(Contacts.Entities.Contact 部分类)

但是我在验证中遇到了障碍:

  1. 我无法向 Contacts.Entities 添加验证逻辑,因为它会导致使用 Contacts.Repository 进行循环引用(contact.Validate(...) 需要使用 ContactsDbContext)。所以我创建了一个单独的 Contacts.Validation 项目。
  2. 但是,这意味着将 Contact 类与部分类分开,以在 Contacts.Entities 和 Contacts.Validation 中定义 Contact。代码不再编译,因为您无法跨不同的程序集定义分部类。

有人在这里给我指点吗?我已经在下面发布了代码...

Contacts.Repository.ContactsDbContext.cs:

Contacts.Entities.Contact.cs:

Contacts.Validation.Contact.cs 包含: