我知道实体框架 1 也有人提出同样的问题,但现在实体框架 4 已经问世,并且微软声称它提供了 Linq to Sql 的所有功能以及更多功能,实体框架现在支持延迟加载昂贵的属性吗?在 Linq to Sql 中,这非常简单。任何属性上都有一个“延迟加载”选项(可通过设计器访问),可以简单地打开或关闭该选项。实体框架中有类似的东西吗?
谢谢
我已在 MS EF 论坛上这里提出了问题。正如您所看到的,他们提供了指向 Entity Framework 中的表拆分的描述的链接。
基本上,其想法是将一个数据库表拆分为多个实体,这些实体通过 1:1 关系关联,然后受益于相关实体之间通常的延迟加载功能。
在我看来,不如 LINQ to SQL 中的延迟加载标志那么舒服,但至少是一个不需要接触数据库表的解决方案。
编辑:最后,MS 支持在我上面链接的线程中回答说,实体框架中肯定不存在 LINQ to SQL 中的“延迟加载标志”。
我尝试了分表方法。奇迹般有效。只需创建第二个表,其中仅包含一个键字段和一个 blob 字段,与原始图像表具有一对一关系。从图像表中删除 de blob 字段。
更新模型并创建图像类和 blob 类之间的关联。
当您实际需要 blob 字段时,不要忘记像这样“包含”blob 表:
from a in dc.GeneralFile.include("Image").select(a => a.FileId, a.Image.Blob)
希望它对你有用。
附注尝试添加图片,但不允许