EF Repository Update

问题描述:



解决办法:



http://www.cnblogs.com/scy251147/p/3688844.html

原理:



Attaching an entity of type ‘‘ failed because another entity of the same type already has the same primary key value. This can happen when using the ‘Attach‘ method or setting the state of an entity to ‘Unchanged‘ or ‘Modified‘ if any entities in the graph have conflicting key values. This may be because some entities are new and have not yet received database-generated key values. In this case use the ‘Add‘ method or the ‘Added‘ entity state to track the graph and then set the state of non-new entities to ‘Unchanged‘ or ‘Modified‘ as appropriate.

时间: 2024-11-05 22:40:29

EF Repository Update的相关文章

项目中如何使用EF

本文将在技术层面挑战园子里的权威大牛们,言语不敬之处敬请包涵.本文旨为技术交流,欢迎拍砖. 园子里面分享和推荐Entity Framework(以下简称EF)的Repository(仓储)设计模式的文章真不少,其中还有很多大牛很详细描述怎么去实现.但是这些文章真是害人不浅.我现在想问问这些大牛们,你们现在的项目真的还在这样用吗? 下面是在找找看里面随便挑的几篇,如果你从未了解过EF Repository,你可以看看: 分享基于Entity Framework的Repository模式设计(附源码

MVC5+EF6 入门完整教程4 :EF基本的CRUD

上篇文章主要讲了如何配置EF, 我们回顾下主要过程: 创建Data Model ---> 创建Database Context --->创建databaseInitializer--->配置entityFramework的context配置节. 对这个过程还有疑问的可以去上篇再看一下. 本次我们就主要讲解 (1) EF基本的CRUD (2) 涉及到的常用HtmlHelper 概述 & 要点 下面是本文要点,正文部分会有详细介绍. EF数据模型的CRUD 常用的HtmlHelper

EF Core实践 (使用MS SqlServer)

这里使用 MS SQLSERVER ,网上大多使用 SQLite 先来一个CodeFirst 新建项目 这里我们选择  ASP.NET Core Web Application (.NET Core)  这里选择web 应用程序,然后更改身份验证 改为 不进行身份验证 然后再包管理控制台里执行下面两条命令 引用 EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore 再引用 EntityFrameworkCore.Sql

asp.net core EF CodeFirst数据迁移

在我们用CodeFirst添加表或者表字段时,CodeFirst会在数据库添加一个表来记录表结构更改(通过migration更改).那么迁移时怎么实现的,这里由于装了.net core后,使用"程序包管理控制台"会报错,错误信息如下 那么,现在就要用命令行实现数据库的及时更新. "migrations add"命令告诉迁移框架(migration framework)检查当前的实体模型与当前数据库结构是否匹配,不匹配则创建必要的code来迁移,使实体类和数据库一致.

[翻译][MVC 5 + EF 6] 10:处理并发

原文:Handling Concurrency with the Entity Framework 6 in an ASP.NET MVC 5 Application 1.并发冲突: 当一个用户编辑一个实体数据时,另一个用户在第一个用户的改变提交到数据库之前同时也在编辑这个实体数据,这时就会发生冲突.如果不处理这种冲突,最后更新数据库的用户的更改将覆盖其他用户的修改.在许多程序中,这种风险是可以接受的:如果程序具有较少的用户和较少的更新操作,或者不是覆盖关键的变化,这种情况下处理并发的成本可能大

Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目

一.开发背景: 由于老系统已经无法满足实际业务需求,需在现有数据库的甚而上开发新的项目. 二.困难点: 而EF默认情况下是要删除现有数据库表格后重新创建,这是不允许的.当你创建数据库对象时系统会提示“数据库中已存在名为 'XXXXX' 的对象” 三.解决方法: 1.创建测试数据库TEST. 2.创建数据库对象(在VS项目内). 3.将对象添加至DBContext(ApplicationDbContext). public DbSet<数据库对象类> 对象名 {get;set;} 4.在项目控制

Entity Framework update 更新失败..(AsNoTracking)

之前更新Entity都是直接修改Context.Entry(entity).State = EntityState.Modified; 后来看到其他一些框架使用的update都是直接SaveChanges() ,就直接改为了SaveChangs 而后由于AsNoTracking更高效,而并不清楚为什么..所以每次查询都直接AsNoTracking().. 导致EF在update时,并没有保存成功..

EF Core Model更新迁移

EF Core 迁移 感觉就是以前EF Code First的自动同步数据库功能 内容:在你新增.更新TableModel后,如何自动化的更新DB中的真实Table.以及对这些更改进行一个版本控制. 本文将以一个示例进行简单明了的演示输出.(不会很详细,只记录主要步骤) 当下我们已经有了一个ASP.NET Core的web应用程序,本文我们所关心的只有2个: 1.Model 2.DB Table 当下: Model 最后一个为导航属性,无视. Table 现在我们要在Model/Student.

.Net core使用EF Core Migration做数据库升级

---恢复内容开始--- (1)VS Code下创建含有授权功能的并且使用localdb作为数据库的命令 dotnet new -au individual -uld --name identitySample identitySample为项目名称 (2)创建完成以后会在项目的appsettings.json文件下多出localdb的数据库连接字符串 (3)执行dotnet ef database update 可以将当前项目Migrations下的命令执行实体生成对应的表结构; 插播一下可以