2008-11-20 36 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; 
    } 
}