问题标签 [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.
sql - 如何使用实体框架只更新一个字段?
这是桌子
用户
和代码..
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 语句上失败。
我错过了什么?数据库上下文中的哪个方法调用域服务中的更新?
asp.net-mvc - 上下文到底是什么?
我开始在任何地方看到上下文。在 ASP.NET MVC 中,有 ControllerContexts、RequestContexts、HttpContexts、FormContexts。在实体框架中,您有 ObjectContexts 和 DbContexts。Ninject 有 Ninject.Activation.IContext。
上下文到底是什么?
entity-framework - EF Code First DBContext 和事务
我想知道用DBContext
. 尤其,
DbContext.SaveChanges
如果我更改多个实体,是否在内部实现事务?- 如果我想
DbContext.SaveChanges
多次调用(相同的contxet/不同的contxets),如何实现交易?
c# - 如何使用 DbContext 和 SetInitializer 修复 datetime2 超出范围的转换错误?
我正在使用 Entity Framework 4.1 引入的 DbContext 和 Code First API。
数据模型使用基本数据类型,例如string
和DateTime
。在某些情况下,我使用的唯一数据注释是[Required]
,但这不在任何DateTime
属性上。例子:
DbContext子类也很简单,如下所示:
初始化程序将模型中的日期设置为今年或明年的合理值。
但是,当我运行初始化程序时,我在以下位置收到此错误context.SaveChanges()
:
将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止。
我不明白为什么会发生这种情况,因为一切都那么简单。我也不确定如何修复它,因为没有要编辑的 edmx 文件。
有任何想法吗?
asp.net-mvc-3 - 不允许添加与处于已删除状态的实体的关系
我正在尝试以以下方式删除对一对多关系中实体的引用,但是当我尝试将对象“o”附加到我的 DbContext 时收到错误消息。错误是:
“不允许添加与处于已删除状态的实体的关系。”
我还尝试了以下方法来代替设置 EntityState:
删除它的正确方法是什么?
更新:
这是我现在运行的代码。关键是不要将子实体从视图模型映射回父实体模型,以便我可以单独处理它们。
c# - EF DbContext 和 Ninject
不久前我问了一个问题,为什么当我合并两个实体集合时默认的相等比较器似乎不起作用。
EF Code First - Linq to Entities Union EqualityComparer
答案是因为我使用了我的 DbContext 的两个不同实例,因此使用了不同的引用。
所以现在我试图在请求中共享我的 DbContent 。我看到了一些“复杂”的例子,但我想我会尝试一个更简单的解决方案。
所以我创建了一个 IDbContext 接口,它简单地概述了我的实体
然后我的 DbContext 是这样实现的:
然后在我的两个存储库(NewsRepository 和 CategoryRespository)中,我将 IDbContext 作为构造函数参数
所以现在我假设如果我在请求范围内将 IDbContext 绑定到 SiteContext 我的存储库将共享相同的上下文?
但是,当我从上一个问题再次尝试我的联合时,我仍然收到重复的实体!我做错了什么?如何判断我是否确实在一个请求中使用了相同的上下文?
entity-framework - 如何在 EF 4.1 中遍历我的 dbcontext 实体?
我正在使用 ASP.NET 实体框架 4.1 MVC 3 (C#)
我想遍历我的 DbContext 中的所有实体。我需要能够动态引用我的实体才能制作动态视图。
我读过 Lerman 的书、两本 MVC(2 和 3)书、msdn、asp.net 等。也许我只是遗漏了一些东西?
似乎您可能必须使用 ObjectContext 才能访问实体。如果这是正确的方法,我肯定不知道该怎么做。请帮忙。谢谢你。
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 部分类)
但是我在验证中遇到了障碍:
- 我无法向 Contacts.Entities 添加验证逻辑,因为它会导致使用 Contacts.Repository 进行循环引用(contact.Validate(...) 需要使用 ContactsDbContext)。所以我创建了一个单独的 Contacts.Validation 项目。
- 但是,这意味着将 Contact 类与部分类分开,以在 Contacts.Entities 和 Contacts.Validation 中定义 Contact。代码不再编译,因为您无法跨不同的程序集定义分部类。
有人在这里给我指点吗?我已经在下面发布了代码...
Contacts.Repository.ContactsDbContext.cs:
Contacts.Entities.Contact.cs:
Contacts.Validation.Contact.cs 包含: