我们在使用Entity Framework的时候经常会把数据库中的某一个视图映射为EF的实体,但是如果数据库视图中的列没有包含表的主键列,EF会报出警告说视图没有主键,导致视图映射为实体失败,错误如下: 表/视图“{0}”未定义主键,无法推断有效的主键.已排除该表/视图.要使用该实体,您将需要检查架构,添加正确的键并对它取消注释. English translation: The table/view '{0}' does not have a primary key defined and n…
最近用Entity Framework 开发的时候,发现一个问题,在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作. 那么,应该怎么处理没有主键的表呢? 我们打开这个表的edmx文件,可以看到以下的xml片段 <EntitySet Name="REP" EntityType="Model.Store.REP" store:Type="Tables" store:Schema="FOREST" store…
4.0后就没有去跟踪后面的版本了.现在直接开始用5.0没想到在做User的GURD时就遭遇insert不进数据问题. ISet<User>.Add(user);_context.SaveChanges()时开始报错: 插入条目时出错,最后的英文错误大概是: Cannot insert the value NULL into column 百分百user是有值的啊,为什么又说userId为null呢? google一番后,原因大概是如果是主键,没有特殊说明,ef会默认认为这个字段数据库会自动生成…
解决办法: 1,修改连接串,加上MultipleActiveResultSets=true 2, 一次性先把数据读出来 var contacts = from c in db.Contact select c; List results = contacts.ToList(); foreach (Contact c in results){ } 提示:contacts.ToList() 的作用是强制加载contact列表,也就是先强制执行查询,再做后续处理. 一定要全部tolist不然上面查询结…
原文:Entity Framework问题:ReferentialConstraint 中的依赖属性映射由存储生成的列 今天在采用Entity Framework 的Database First反向以及用Code First写的数据库表时,在测试时一直出现以下错误: 情况是这样的: 我有两张表,记主表为A,辅表为B(即外键所在的表,设外键为Id,同时也是表B的主键) 这个问题是因为: 我的表B中的键Id不仅是外键,也具有自增属性,即在建表是用Identity标识之.而这两个功能是矛盾的.一方面,…
  注:本文针对的是 Entity Framework Code First 场景. 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对一), 两情相悦-续),但当时理得不够清,新的一年重新理一理. 当时“一对一”的实体关系,对应的数据库关系是外键关联(实际上是一种“一对多”关系,所以映射时用了WithMany).而数据库中的“一对一”关系是共享主键(这是我个人的理解,不妥之处,欢迎指出),下篇文章将要理的就是这个关系. 由于双向“…
转自 http://www.cnblogs.com/flyfish2012/archive/2013/03/13/2957125.html 我在上一篇EF更新指定的字段当中介绍了,如何在EF指定字段进行更新.但这个有个缺陷,如果在同一个上下文当中,进行更新的话就会报: ObjectStateManager 中已存在具有同一键的对象.ObjectStateManager 无法跟踪具有相同键的多个对象 问题的原因在于,我们之前已经附加过当前实体,如果再进行Attach的时候,就会报这样的错.解决办法…
//获取主键的 PropertyInfo PropertyInfo pkProp = ).FirstOrDefault(); //主键名称 var keyName=pkProp.Name; //实体类中主键的值 var keyId = pkProp.GetValue(model).ToString(); 例如: public WorkIDStatusViewModel GetWorkIDStatusEntity<T>(string resourcesCode, IEnumerable<t…
不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创建模型 问题 有一个存在的数据库,它拥有表.也许还有视图.外键.你想通过它来创建一个模型. 解决方案 让我们设想,你拥有一个描述诗人(Poet)以及他们的诗(Poem),还有他们之间关系的数据库.如图2-7所示. 图2-7 一个关于诗人及他们的诗的简单数据库 从上图可以看出,一个诗人可能是一首或多首…
1.Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table一样的方式进行插入.修改.删除及查询.在实际的项目过程中,视图多只用于进行查询. Entity Framework Code First查询视图示例: 使用到的表及视图结构如下: 文件类VCity.cs: using System; using System.Collections.Generic;…