c# – 实体框架4加载参考异常
我在Entity Framework 4中加载了对父对象的引用的麻烦.由于Lazy加载对父对象(Condition)的引用没有加载到子对象(DiscountLevel)上,所以我尝试加载它:
if(!this.ConditionReference.IsLoaded) this.ConditionReference.Load(); 但这会抛出以下异常:
因此,如果我尝试将现有的子对象(DiscountLevel)附加到对象上下文中(然后再加载父参考): context.AttachTo("tblDiscountLevel",this); 我得到以下例外:
我觉得我第一次做错了,但我无法弄明白什么.所以对这个话题的每一个帮助都非常感激.如果您需要更多信息,请告诉我们! 解决方法
我偶然发现了这个问题,并没有对上面的代码做任何事情:在DiscountLevel中的各种覆盖的OnChange方法中有一些计算如果被调用太早就失败 – 在这种情况下,初始加载DB.这导致Child对象没有被正确的初始化 – 看起来像从外面没有加载.
实现一个简单的bool变量,它在初始加载时抑制OnChange方法的执行,使得一切都按预期工作.可能有一个更优雅的解决方案,实体框架提供的功能,但这对我有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |