EF--model is being created异常】的更多相关文章

使用EF的时候出现了下面的异常,我使用了TASK和saveChangeAsync()异步 The context cannot be used while the model is being created. This exception may be thrown if the context is used inside the OnModelCreating method or if the same context instance is accessed by multiple th…
使用"EF Model First",我们可以很直观地在edmx文件中创建数据模型,并根据模型生成数据库,整个过程快速而高效.可当数据库中有了一定的数据量,同时,可能需要对模型中字段.表.关系等进行更新,如何把模型中的变化映射到已经有一定数据量的数据库呢?   本篇使用"EF Model First"创建1对多,多对多关系表,接着体验如何把模型的更新映射到数据库.edmx数据模型在如下几个方面更新: ● 修改字段 ● 添加字段 ● 删除字段 ● 删除表 ● 删除1对…
使用Entity Framework (v6.1.3)突然遇到这个问题了,之前一直好好的,怎么破? 此处省略了多次在“好”与“坏"的项目中试验的过程(苦啊),直接给出答案.答案是:没有按DbContext的机制来进行DbSet的实例化导致的.(我遇到的情况) 我们一般在自己的DbContext里这样写 public DbSet<MyEntity1> MyEntity1Set { get; set; } 这样就没问题,不用为MyEntity1Set实例化,就能直接使用,基类帮做了实例化…
在做数据库规划时,通常会规划一些系统字段,也就是由数据库本身自行指定默认值到这个字段上,创建新的“创建时间(CreateDate)”字段就会常常这样设计. 如果希望能有默认值,且让.net 程序在新增信息到数据库时不用指定的值的话,那么你需要在你的该属性(property)上面加上一个DatabaseGenerated属性(Attribute),并传入DatabbaseGeneratedOption.Computed参数到DatabaseGenerated 属性中. 在调用DatabaseGen…
1 在Models下新建实体数据模型Model.edmx 2 在Model.edmx中点右键建立各个实体,增加Scalar Property 3 空白处点右键,添加关系,勾选增加外键 4 保存Model.edmx, 空白处点右键,选择从模型生成数据库既可…
 Based on your description and the error code, you will just need to ensure that your DataContext class inheirits from IDisposible: public class YourDataContextClass : DbContext,IDisposable { //Your class details here } And then install the EntityF…
众所周知:linq查询有两种方式 1.通过linq表达式查询 2.是通过linq方法查询 代码中 每一步都有注释…
今天在改造以前旧项目时出现了一项BUG,是由于以前不规范的EF写法所导致.异常信息如下: "An entity object cannot be referenced by multiple instances of IEntityChangeTracker(一个实体对象不能由多个 IEntityChangeTracker 实例引用)" 这个问题其实很容易定位,是因为在程序中 使用了不同的DbContext来追踪同一个实体. 以下的Demo代码可以轻松地引发该异常: using (va…
EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架.同其它ORM(如,NHibernate,Hibernate)一样, 一是为了使开发人员以操作对象的方式去操作关系型数据表. 二是为了屏蔽底层不同厂商的数据库,开发人员面向ORM框架编写数据的CRUD(Create,Retrieve,Update,Delete)操作,再由ORM框架将这些操作翻译成不同数据库厂商的语言. 从EF 4.X开始支持三种构建方法:1. Database…
现在许多Web项目都使用了IOC的DI注入组件.其中对象的生命周期管理是非常重要的. 有时我们为了提高请求的响应,经常在请求线程中执行多个子线程,然而忽略了EF的DbContext的生命周期管理. DbContext并非是线程安全的.子线程A和子线程B 可能同时的对同一个DbContext进行操作,从而导致下面的异常(可能随机抛出其中一个). 所以建议不要共用同一个DbContext. {"已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭."} “Sys…