1
我在启用了延迟加载的上下文中有两个实体。我正在使用POCO。当我加载第一个时,相关实体不会显示,直到我加载第二个实体并导航它的实体。更具体地说,我将货币(它被标记为虚拟)作为CashAccount上的相关实体,CashAccount从Account继承该实体以及SuspenseAccount,SuspenseAccount也从Account继承它。当我加载SuspenseAccount时,货币为空。但是,如果我加载CashAccount并使用它的Currency属性,则SuspenseAccount的货币会正确加载。任何人有关于这是为什么以及如何解决它的想法?在实体框架中延迟加载的问题
你可以用代码写下这个模型的简要草图,以及你如何加载实体的代码? – Slauma 2012-04-21 12:17:55
唷!我发现问题是什么! SuspenseAccount类没有公共构造函数(它只是构造函数被标记为内部的)。显然,这阻止了POCO LazyLoading逻辑的踢出,并且在访问另一个实体的关系之后关系被修正了,因为相关实体对于两者都是相同的。 @Slauma - 谢谢。现在排序。 – Tolu 2012-04-21 12:26:05
这很有趣!你能写出这个答案吗,所以人们可以看到问题解决了。 (你可以接受你自己的答案。)我前一段时间和私人构造函数有类似的现象(EF没有创建延迟加载代理),但没有受保护的构造函数。我没有猜到内部构造函数可能是一个问题。 – Slauma 2012-04-21 12:32:51