在使用Entity Framework时,如果数据库中有两个表是一对多或者是多对多的关系,那么生成的实体类中就有一个导航属性。这个导航属性前面都加上了一个virtual关键字。这个virtual关键字代表这个属性的值在运行时,是延迟加载的。我们可以在Context里面关闭掉这个延迟加载的特性。

         如果一个实体类有这个导航属性,并且有virtual关键字。不管你是不是启用了延迟加载,在进行序列化的时候,都会为这个延迟属性所在的类生成一个代理类,这个代理类是真正实体类的子类。这个代理类里面有对这个类本身的自引用,所以在序列化的时候,就会陷入死循环。在前台转换成Json的数据的时候,是需要序列化的,在这个时候,就会报错,显示序列化不了。

         这时候有两种解决的办法,一种是在有这个导航属性的类上面加上一个特性。

true)]

相关文章:

  • 2021-06-13
  • 2022-12-23
  • 2021-07-12
  • 2021-07-09
  • 2022-12-23
  • 2021-04-03
猜你喜欢
  • 2021-10-06
  • 2021-09-04
  • 2022-12-23
  • 2021-09-20
  • 2022-12-23
  • 2021-06-20
  • 2021-10-24
相关资源
相似解决方案