首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

EntityRef<T>Entity的内部机制是怎么实现的

2012-03-07 
EntityRefT.Entity的内部机制是如何实现的?EntityRefT是一个struct。以下是通过反射得到的EntityRefT

EntityRef<T>.Entity的内部机制是如何实现的?
EntityRef<T>是一个struct。以下是通过反射得到的EntityRef<T>结构:

C# code
 // 摘要:    //     为 LINQ to SQL 应用程序中的一对多关系的单一实例方提供延迟加载和关系维护。    //    // 类型参数:    //   TEntity:    //     目标实体的类型。    public struct EntityRef<TEntity> where TEntity : class    {        //        // 摘要:        //     通过引用目标实体初始化 System.Data.Linq.EntityRef<TEntity> 类的一个新实例。        //        // 参数:        //   entityRef:        //     目标实体。        public EntityRef(EntityRef<TEntity> entityRef);        //        // 摘要:        //     通过指定源初始化 System.Data.Linq.EntityRef<TEntity> 类的一个新实例。        //        // 参数:        //   source:        //     引用源。        public EntityRef(IEnumerable<TEntity> source);        //        // 摘要:        //     通过指定目标实体初始化 System.Data.Linq.EntityRef<TEntity> 类的一个新实例。        //        // 参数:        //   entity:        //     目标实体。        public EntityRef(TEntity entity);        // 摘要:        //     获取或设置目标实体。        //        // 返回结果:        //     目标实体。        public TEntity Entity { get; set; }        //        // 摘要:        //     获取一个值,该值指示是否已加载或分配目标。        //        // 返回结果:        //     如果已加载或分配目标,则为 True。        public bool HasLoadedOrAssignedValue { get; }    }


刚才在看EntityRef<T>与EntitySet<T>的关系,一下脑筋转不过这个弯了。

问题一:
在EntityRef<T>内部应该保存有一个对Entity对象的引用。如果单纯地返回这个引用值本身,那EntityRef<T>返回的就是引用的引用。因此需要一个Entity属性来转换成对Entity对象的引用。或者是其他什么机制?

问题二:
自己如何仿效EntityRef<T>,实现一个类似EntityRef<T>的类?
想了半天,没想通,可能钻进牛角尖了。

还请各位不吝赐教,在此先谢过了。



[解决办法]
在EntityRef<T>内确实要保存一个Entity对象。
不太明白你的问题,你是想问怎么获取对象与数据的映射吗?

热点排行