我们在使用Entity Framework的时候经常会把数据库中的某一个视图映射为EF的实体,但是如果数据库视图中的列没有包含表的主键列,EF会报出警告说视图没有主键,导致视图映射为实体失败,错误如下: 表/视图“{0}”未定义主键,无法推断有效的主键.已排除该表/视图.要使用该实体,您将需要检查架构,添加正确的键并对它取消注释. English translation: The table/view '{0}' does not have a primary key defined and n…
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不然上面查询结…