我正在尝试使用实体框架来提出问题。我根本无法得到加载问题的模型 - 每个模型都会因stackoverflowexception而失败。
我在其他EDMX文件中有其他模型,到目前为止它们都运行良好。
QuestionEntities qc = new QuestionEntities();
System.Data.Objects.ObjectSet<FormView> qvs = qc.FormViews;
溢出发生在第二行。
据我所知,它们都是为延迟加载设置的,所以它不应该尝试加载整个数据库。为了防万一,我试图删除所有递归导航属性,但它仍然失败。
不幸的是,只有通过反复重启EDMX才能解决这个问题(我也尝试过)。
感谢任何帮助,谢谢
答案 0 :(得分:2)
请查看生成的代码,您可能会有一些可能导致问题的递归属性定义。堆栈溢出仅发生在以无限循环结束的递归调用中。
如果您发布模型并生成代码,那么很容易找到问题原因。
当搜索中有递归包含的表时,我们确实遇到了同样的问题,例如考虑像文件系统这样的树类结构,其中目录包含子目录,这样的导航属性无法包含并导致堆栈溢出