2008-11-20 108 views
2

我将Linq手动编码为SQL实体,并且每次装入实体时都不需要加载大型XML列,因为它很少使用。在我搜索的任何地方,我都看到Linq to SQL设计器提供了“Delay Loaded”属性,但ColumnAttribute类没有提示如何实现它。如何延迟加载Linq实体上的单个属性?

我收集了它与System.Data.Linq.Link类有关,但我没有找到使它工作的魔法咒语。

有谁知道如何在手动编码的Linq到SQL C#类中实现延迟加载的属性?

回答

3

我已经剖析了设计者生成的代码的结果。

步骤1:

private System.Data.Linq.Link<String> _columnName; 

步骤2:使用System.Data.Linq.Link类型创建专用构件设置列属性给该会员名的存储参数,并在属性填吸气剂和吸附剂:

[Column(Name = "column_name", Storage = "_columnName"...] 
public String ColumnName 
{ 
    get 
    { 
     return _columnName.Value; 
    } 
    set 
    { 
     _columnName.Value = value; 
    } 
}