EF 4.1中的非导航属性的惰性负载

EF 4.1中的非导航属性的惰性负载

问题描述:

有没有一种简单的解决方案来为EF 4.1中的非导航属性进行延迟加载?例如,对于字节数组。EF 4.1中的非导航属性的惰性负载

没有EF不提供标量和复杂属性的延迟加载。诀窍是使用表分割,其中来自单个表的数据被映射到与一对一关系相关的两个实体。一个实体是委托人,它包含对委托人的导航属性,因此您可以使用延迟加载。 Here is the question带链接如何在EDMX中做到这一点,答案提供了代码优先的映射解决方案(注释包含MSDN论坛中另一个示例的链接)。

+1

我讨厌EF))))谢谢! – zonder 2011-04-22 21:07:07

+0

@zonder,+1,完全同意你的看法。这种“表分裂”策略是缺乏像普通的普通惰性加载这样必要功能的最丑陋的解决方法。 – 2011-04-27 21:10:32

+0

EF s * cks。我有一个xml有效载荷表,我希望能够排除一些(实际上大部分)时间。你认为我可以 - 不。我决定现在就加载它,然后我将手动创建连接。我经常会在最后抛弃这些框架。一次又一次。 – Jim 2012-03-08 07:35:12

我想不出任何你希望在表中使用懒惰加载列的情况,并且无法将它放在自己的表中并映射一个单独的实体来表示它。如果你想要一个懒惰加载的列,那么它可能是一个很好的指示,你需要创建一个单独的实体。如果您将EF映射到旧数据库,则忽略我刚刚说的所有内容。

+0

例如,当您需要使用实体在列表中进行显示以及创建或更新时。列表中不需要加载实体的所有信息。当需要使用实体数据的一部分时,这是很多情况之一。 – zonder 2011-07-20 16:01:13

+0

任何比简单字符串更大的东西,比如图像数据,xml或其他附加到实体的有效载荷数据。为什么我必须创建一个一对一的关系和索引,每次我有一个图像/ XML或其他。一对一的关系在最好的时候是痛苦的,所以为什么要扩散他们。 – Jim 2012-03-08 07:38:48