gpt4 book ai didi

c# - 如何延迟加载 Linq 实体上的单个属性?

转载 作者:行者123 更新时间:2023-11-30 22:50:55 26 4
gpt4 key购买 nike

我正在对 Linq to SQL 实体进行手动编码,并且有一个很大的 XML 列,我不想每次加载该实体时都加载它,因为它不常使用。在我搜索的所有地方,我都看到 Linq to SQL 设计器提供了一个“延迟加载”属性,但是 ColumnAttribute 类没有关于如何实现它的任何提示。

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

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

最佳答案

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

第 1 步:使用 System.Data.Linq.Link 类型创建私有(private)成员:

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

第二步:将Column属性的Storage参数设置为该成员名,并填写属性getter和setter:

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

关于c# - 如何延迟加载 Linq 实体上的单个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com