因为相同类型的其他实体已具有相同的主键值.在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为.这可能是因为某些实体是新的并且尚未接收数据库生成的键值.在此情况下,使用 "Add" 方法或者 "Added" 实体状态跟踪该图形,然后将非新实体的状态相应设置为 "Unchanged"…
在日常使用Entity Framework中,数据更新通常会用到.下面就简单封装了一个DBContext类 public partial class EFContext<T> : DbContext where T : class { public EFContext(): base("name=MyConnectionString") { } protected override void OnModelCreating(DbModelBuilder modelBuild…
在使用asp.net Identity2 的 UserManager RoleManager 时,同时还有其他仓储类型接口,能实现用户扩展信息的修改,用户注册没有问题.当修改用户信息时,出现了如下异常.   控制器代码: public class AccountController : Controller { private IDepartmentService _departmentService; public AccountController(IDepartmentService de…
在EF经常在更新模型的时候可能会同时操作一个实体几次. 其实除了SaveChanges外,其它的几次基本都是要查询出一个结果, 例如更新的时候,我们要查一下这个表中有没有相同的纪录之类的. 查询完之后,我们再SaveChanges就会出错. 怎么办呢? 查询的时候我们用这个方法查询:AsNoTracking() db.Set<实体模型>() .AsNoTracking() .FirstOrDefault(p => p.x== x) //但这个没有Find()方法 ,不知道怎么回事. 这个…
在更新一个实体类的时候可能会有预先有一次查询或者其它操作,我们这样用目的是为了与提交的数据做一个比较之类的东西,如果先查询再对此类进行SaveChanges就会出错. 我们只要用AsNoTracking()让它停止追踪就行了.如下: var entity = db.您的类.AsNoTracking().FirstOrDefault(); 返回查询结果系统将不在追踪,不影响下面的操作.…
var list= DAL.LoadEntities(x => x.OrderCode == orderCode).AsNoTracking().ToList().FirstOrDefault(); 在EF查询的时候加上AsNoTracking() 此时再对list进行赋值操作 只要主键不变,然后调用: DAL.EditEntity(list); DbContext.SaveChanges(); 即可将修改的结果保存到数据库…
修改数据的时候查询了下数据 于是报错了,我吧查询不加入缓存中,吧getbyid的方法改成.AsNoTracking().FirstOrDefault(p => p.x== x)…
一.实体类的编写规则 1.属性要是私有的. 2.要有公开的setter和getter方法供外界访问和修改. 3.每一个实体类要有一个属性作为唯一值(一般都是使用对于数据表的主键). 4.建议数据类型不要使用基本的数据类型,而是使用相应的包装类. 5.Java中对应的包装类 基本数据类型 对应包装类 int Integer char Character boolean Boolean float Float double Double short Short long Long byte Byte…
package com.escs.utils; import java.util.Iterator; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.cfg.Configuration; import org.hibernate.mapping.Column; import org.hibernate.mapping.PersistentClass; import org.hibernate.mappi…
实验 直接上代码,看结果 实体类 [Flags] public enum FlagsEnum { Day = , Night = } public class EntityWithEnum { public int ID { get; set; } public FlagsEnum ValidTime { get; set; } } 数据库上下文 public partial class CodeFirstModel : DbContext { public CodeFirstModel() :…