Tag: lazy loading

NHibernate何时使用延迟加载?

我对延迟加载的理解是它只在需要对象时才加载,我们应该使用它。 请解释一下我们必须使用哪些场景而不使用它? 提前致谢。

MEF CachedAssemblyCatalog – 延迟加载程序集

我对旧版本MEF中提供的示例中引入的CachedAssemblyCatalog类非常感兴趣 – 它允许加载仅包含导出数据而不是整个程序集的小型程序集,并且只在该程序CachedAssemblyCatalog部件加载时才加载完整程序集。需要。 我想在我的应用程序中使用此function,但我不确定此代码的稳定性/可靠性,以及是否有任何关于此function的未来计划。 是否计划很快成为MEF不可分割的一部分,或者根本不成为? 有没有人在他的应用程序中使用此代码并可以分享他的印象? 它稳定吗? 它是否按预期工作? 我对谷歌此类目录中几乎没有可用数据以及缓存样本不再出现在当前可用样本中的事实感到有点气馁。 任何输入将不胜感激。

entity framework代码首先不保存后延迟加载

我的数据库中有一个查找表和一个数据表。 我将以性别和人为例。 所以,让我们说性别表看起来像这样: Id Code 1 Male 2 Female 而person表看起来像这样: Id Name GenderId 1 Bob 1 2 Jane 2 我首先在EF代码中建模了两个表,如下所示: public class Gender { public int Id {get;set;} public string Code {get;set;} } public class Person { public int Id {get;set;} public string Name {get;set;} public int GenderId {get;set;} public virtual Gender {get;set;} } 如果我读了一个已经在数据库中的人,那么我可以访问person.Gender.Code没有问题。 […]

entity frameworkIQueryable与poco生成

我已经创建了一个T4模板,它为每个属性生成标准的Entities类和Interfaces,这样我就可以制作只包含我想要的数据的自定义poco对象。 我还创建了一个复制函数,它可以在实现所述实体接口的任何对象之间进行转换 生成的代码如下所示 //—————————————————————————— // // This code was generated from a template. // // Manual changes to this file may cause unexpected behavior in your application. // Manual changes to this file will be overwritten if the code is regenerated. // //—————————————————————————— namespace DomainModel { using System; using System.Collections.Generic; using System.Linq; public interface IRole […]

如何确保所有属性都已加载Silverlight ViewModel模式(并发控制?)

我正在努力寻找一个看似很小但相当痛苦的困境。 我有一个对象作为控件的视图模型。 基础视图模型旨在帮助显示所有可用事件之外的组对象及其相关事件的列表 。 在底层数据模型中,我有以下实体(EF)及其对应的关系: Group -> GroupEvent <- Event 视图模型有两个可观察的集合 – 一个用于事件,一个用于组。 事件集合表示可用于任何组的所有事件。 所有事件仅从WCF RIA服务加载一次,并且在到达时将每个事件的实体数据复制到本地对象中,该对象被推入事件集合中。 除了Event实体的属性之外,LocalEvent对象还定义了一个“IsSelected”布尔属性,默认情况下它被初始化为“false”。 此属性在具有双向绑定的CheckBoxGridColumn中使用,以便我可以将复选框’state设置为选中或取消选中。 ViewModel中的Groups集合以相同的方式初始化。 我创建了一个LocalGroup对象,它有一个LocalGroupEvents集合。 在事件加载后的构造函数中,我从WCF RIA服务加载所有Group实体(及其相关的GroupEvents)。 我将每个Group实体的所有属性复制到LocalGroup对象中,设置其LocalGroupEvents集合,最后将LocalGroup推送到ModelView的Groups可观察集合中。 最后,这两个集合将绑定到各自的网格。 组网格仅显示组名称,而事件网格显示每个事件旁边的复选框。 groups网格有一个SelectedItemChanged事件处理程序,每当它发生时,我抓取LocalGroup对象,我读取它的所有LocalGroupEvents并将Events网格中的“IsSelected”属性设置为true,以用于其Id与LocalGroupEvents中的Eventid匹配的每个事件。 嗯,这个工作流程很好。 100%的时间。 我遇到的问题是,如果事件的数据在组的数据之后到达,该怎么办? 我的意思是,由于任何RIA服务调用都是异步的,因此不会暂停线程以确保数据以正确的顺序到达。 如果只有一个组,并且在事件有机会加载之前加载速度超快,该怎么办? 在该场景中,即使用户点击该组,他们也将看不到任何内容,也无法编辑所选组。 在UI绑定到模型视图之前,如何确保数据以正确的顺序到达? 谢谢, Bleepzter

.NET 3.5中的entity framework延迟加载

由于服务器限制我限于.Net 3.5,我使用Linq to SQL延迟加载,但后来切换到entity framework。 L2S在3.5中没有延迟加载,而L2S则没有。 有没有办法以某种方式重新生成模板来实现这一目标?

如何使用PostSharp实现延迟加载?

我想用PostSharp在属性上实现延迟加载。 简而言之,而不是写作 SomeType _field = null; private SomeType Field { get { if (_field == null) { _field = LongOperation(); } return _field; } } 我想写 [LazyLoadAspect] private object Field { get { return LongOperation(); } } 所以,我确定我需要在类中发出一些代码来生成支持字段,以及在getter方法中为了实现测试。 使用PostSharp,我正在考虑重写CompileTimeInitialize ,但我错过了处理已编译代码的知识。 编辑:问题可以扩展到任何无参数的方法,如: SomeType _lazyLoadedField = null; SomeType LazyLoadableMethod () { if(_lazyLoadedField ==null) { // Long operations […]

深入理解延迟加载和处理MVC .net中的错误

我试图写一个完整详细的答案来解决以下问题: 为什么“Dispose”工作,而不是“使用(var db = new DataContext())”? 所以我设置了我的项目,包括: 部门和员工使用entity framework 所以我的行动方法是这样的: public ActionResult Index() { IEnumerable d; using (var ctx = new ApplicationDbContext()) { d = ctx.departments; } return View(d); } 很自然地会发现这会导致常见错误: The operation cannot be completed because the DbContext has been disposed 当我想解决它时,我做了以下[强制加载而不是轻松加载]: public ActionResult Index() { IEnumerable d; using (var ctx = new ApplicationDbContext()) […]

禁用LINQ上下文的所有延迟加载或强制加载加载

我有一个文档生成器,目前包含大约200个项目的查询,但完成后可能会超过500个。 我最近注意到一些映射表示延迟加载。 这给文档生成器带来了问题,因为它需要根据生成的文档访问所有这些属性。 虽然我知道可以为上下文指定的DataLoadOptions ,但这会导致我必须显式指定可能加载的每一列。 这是1000的北方,因为所有数据提取都发生在一个上下文中。 有没有办法让我为上下文禁用延迟加载或显式启用急切加载以忽略延迟加载属性? 也许扩展DB上下文类并覆盖某些东西?

如何延迟加载具有多行的标准html表?

我选择使用标准的HTML方式制作表格和行等,而不是使用其他人的表插件。我会从数据库中获取数据以填充行。 但是当行数超过10,000时,我意识到我需要lazy_load行,否则网站会非常慢。 我已经找到了延迟加载表行的方法,但我似乎无法在任何地方找到它,所以我的问题只是lazyloading插件或行甚至存在 ? 希望有些大师可以回答这个问题。 提前致谢! 关于我正在尝试做什么的背景:我在html代码中创建表的粗略草图,然后在运行时,当用户搜索特定的东西时,我将通过DOM向表中添加行。 当他们搜索它时,会有数千个结果,我想将结果延迟到表中。 jQuery为图像和图像容器提供了延迟加载。 其他一些插件允许延迟加载div。 然而,表行的延迟加载似乎是不存在的。 上下文的一些示例代码: HTML: PhotoViewer v1.6 Photos –Photo– –Label– –Path– 寻找一些代码,它们将允许与下面的代码行相同的function。 使用Javascript: $(function() { $(“img”).lazyload({ effect : “fadeIn” /* ,appear : function(elements_left, settings) { console.log(“appear”); console.log(elements_left); //console.log(this, elements_left, settings); }, load : function(elements_left, settings) { console.log(“load”); console.log(elements_left); //console.log(this, elements_left, settings); } */ }); });