学习笔记

1.json序列化ef实体是报错:“序列化类型为“System.Data.Entity.DynamicProxies.XXXX.... 对象时检测到循环引用。”

公司里用ef来生成实体。但是当我需要当ef构建完的实体里有其他实体的时候,比如说:在picture里有a实体。

假设一种情形:获取一个PagedList<Picture>然后在后台用json返回时,会报错:

“序列化类型为“System.Data.Entity.DynamicProxies.XXXX.... 对象时检测到循环引用。”

之所以出现这个的原因:因为这个表和另一个表是有一对多关系的,当序列化表1的时候,会找到和表2关联的字段,就会到表2中序列化,而表2中也有一个字段和表1相关联.这样.序列化就会发生这种错误!

解决方法:重新new一个对象就可以了。

2.无法删除此对象,因为未在 ObjectStateManager 中找到它。

因为之前都是在别人项目上进行维护和新增需求,对ef的一些具体的细节方面了解不到位。结果就导致了我在删除ef实体的时候出现了如上错误。

出现的情景:我通过执行sql获取到了一个model,然后执行了ef.DeleteObject(model)。报错:无法删除此对象,因为未在 ObjectStateManager 中找到它。

原因:执行ef的删除操作时,model必须是ef里的对象,不能自己New一个对象(XXX model = new XXX{ NAME=“123” }),否则会报错:无法删除此对象,因为未在 ObjectStateManager 中找到它。

知道问题所在,就可以解决了:用ef获取实体的方法获取该实体然后就可以了。

实习笔记-3:ef实体操作错误篇的更多相关文章

  1. 实体之间的关系【Entity Relationships】(EF基础系列篇9)

    Here, you will learn how entity framework manages the relationships between entities. Entity framewo ...

  2. EF实体框架之CodeFirst一

    对于SQL Server.MySql.Oracle等这些传统的数据库,基本都是关系型数据库,都是体现实体与实体之间的联系,在以前开发时,可能先根据需求设计数据库,然后在写Model和业务逻辑,对于Mo ...

  3. EF实体框架之CodeFirst四

    在EF实体框架之CodeFirst二中也提到数据库里面一般包括表.列.约束.主外键.级联操作.实体关系(E-R图).存储过程.视图.锁.事务.数据库结构更新等.前面几篇博客把表.存储过程.视图这些算是 ...

  4. 第八节: EF的性能篇(一) 之 EF自有方法的性能测试

    一. 开发中常见的性能问题 我们在日常开发过程中,由于一些不好的习惯,经常会导致所写的代码性能低下,却毫无发觉,下面就总结一下常见的一些性能问题. 1. 真假分页 ① 假分页: db.xxx.toLi ...

  5. Linux及Arm-Linux程序开发笔记(零基础入门篇)

    Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/bee ...

  6. 笔记:EF出现列名 'Discriminator' 无效、类没有加入数据库上下文也被数据迁移生成表

    笔记: EF出现列名 'Discriminator' 无效: 类没有加入数据库上下文也被数据迁移生成表: 出现该问题一般是使用了某个基类继承了实体类: 原因是code first的POCO实体对象的继 ...

  7. 【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)

    Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer ...

  8. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  9. EF 实体+ Newtonsoft.Json 输出JSON 时动态忽略属性的解决方法

    最近的项目采用的是 ASP.NET mvc 4.0 + entity framework 5.0 ,后台以JSON形式抛出数据是借助于Newtonsoft.Json ,   要想忽略的属性前面添加特性 ...

随机推荐

  1. 使用Go语言两三事

    使用Go语言两三事,在网上看到的总结的很不错哦,转自http://www.cnblogs.com/sevenyuan/archive/2013/02/27/2935887.html 一.channel ...

  2. Eclipse 开发WEB项目所遇问题 WebContent WebRoot

    原文:http://blog.sina.com.cn/s/blog_525960510100jo0j.html 最近在做Web 项目时,新建了一个WEB 项目,如webdemo,eclipse默认的b ...

  3. java String 两种不同的赋值 比较

    原文:http://blog.163.com/woshihezhonghua@126/blog/static/1271436362012101214031911/ 首先明确一点,String是一个类. ...

  4. LVS DR模型

    1,环境 VMWare10, CentOS6.3 2,LVS DR网络规划 所有机器都只需要一张网卡,给Director的eth0网卡起个别名eth0:1即VIP的值:给RealServer的lo网卡 ...

  5. iOS使用宏写单例

    本文只介绍ARC情况下的单例 过去一直背不下来单例如何写,就是知道这么回事,也知道通过宏来写单例,但是一直记不住,今天就来记录一下 - (void)viewDidLoad {     [super v ...

  6. mac10.7安装xcode3.2.5和xcode4.2过程和方法

    关于mac10.8安装xcoce3.2.5 五国或者不能成功的原因,看文章的最后部分. 大致浏览一下下面的内容,其实基本都是一样的,第一篇说明多个版本的xcode如何共存,后面的讲述如何安装xcode ...

  7. C#_数据库交互_SqlHelper

    using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...

  8. Java设计模式07:常用设计模式之装饰器模式(结构型模式)

    1. Java之装饰器模式(Decorator Pattern) (1)概述:     装饰模式在Java种使用也很广泛,比如我们在重新定义按钮.对话框等时候,实际上已经在使用装饰模式了.在不必改变原 ...

  9. Linux系统常见的压缩命令

    *.Z compress 程序压缩的文件: //在当前的Linux主流版本中都已经默认没有支持该压缩命令了,因为gzip命令已经取代了compress命令了 *.gz gzip 程序压缩的文件: *. ...

  10. JAXB - XML Schema Types, Defining Types for XML Elements With Content

    Content: A Value The content of an XML element may be some value, or one or more subordinate element ...