因为相同类型的其他实体已具有相同的主键值.在使用 "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…
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)…
在EF经常在更新模型的时候可能会同时操作一个实体几次. 其实除了SaveChanges外,其它的几次基本都是要查询出一个结果, 例如更新的时候,我们要查一下这个表中有没有相同的纪录之类的. 查询完之后,我们再SaveChanges就会出错. 怎么办呢? 查询的时候我们用这个方法查询:AsNoTracking() db.Set<实体模型>() .AsNoTracking() .FirstOrDefault(p => p.x== x) //但这个没有Find()方法 ,不知道怎么回事. 这个…
在更新一个实体类的时候可能会有预先有一次查询或者其它操作,我们这样用目的是为了与提交的数据做一个比较之类的东西,如果先查询再对此类进行SaveChanges就会出错. 我们只要用AsNoTracking()让它停止追踪就行了.如下: var entity = db.您的类.AsNoTracking().FirstOrDefault(); 返回查询结果系统将不在追踪,不影响下面的操作.…
修改远程服务器的文件名,报错“System.NotSupportedException”类型的未经处理的异常在 mscorlib.dll 中发生”,“System.NotSupportedException: 不支持给定路径的格式.” 此错误说明路径有问题,本来是映射到本地,路径为“Z:\XXX”,既然报错,这种路径肯定是非法路径,改为服务器路径就可以了,比如“\\10.0.0.101\ArcCatalog\Connection to 10.0.0.101.sde”,这样就算是使用了网络路径.…
在项目中,对一个视图进行了更新,增加了一个字段,然后需要更新EF访问,可是往往会报错, 查看映射关系发现EF将字段映射为主键,而视图没有进行ISNULL处理. 可以有两种处理方式: 1:修改视图对字段进行ISNULL处理 2:修改EF,取消字段为主键设置.…
这个编译错误有几个原因 1.jdk版本问题 要是报错是某些java包里的东西那就可以肯定是jdk版本的问题, 比如无法解析类型java.lang.Object,无法解析类型java.lang.CharSequence. 解决方法:换jdk版本或者重装jdk 2.maven依赖的jar包有问题 当maven项目引用jar包的时候,有些jar包会失效,导致这个问题. 解决方法:把maven本地库jar包删除重新下载,或者删除后换个仓库下载.…