public void InvalidateAllDependentProperties() { var linqEntityType = GetType(); foreach (var linqProperty in LinqPropertyBase.RegisteredPropertiesForOwnerType(linqEntityType)) { InvalidateProperty(linqProperty); } }
internal EffectiveValueEntry GetEffectiveValue(LinqPropertyBase linqProperty) { if (EffectiveValues.ContainsKey(linqProperty.GlobalIndex)) { var effectiveValue = EffectiveValues[linqProperty.GlobalIndex]; return(effectiveValue); } if (linqProperty.OwnerType == GetType()) { EffectiveValues.Add(linqProperty.GlobalIndex, new EffectiveValueEntry(this, linqProperty)); var effectiveValue = EffectiveValues[linqProperty.GlobalIndex]; return(effectiveValue); } throw new NotSupportedException("only valid on the LinqProperty's Owner type."); }
//TODO Generic GetValueBase public void InvalidateProperty(LinqPropertyBase linqProperty) { var effectiveValueEntry = GetEffectiveValue(linqProperty); effectiveValueEntry.InvalidateCache(); }
public object GetValueBase(LinqPropertyBase linqProperty) { var effectiveValueEntry = GetEffectiveValue(linqProperty); return(effectiveValueEntry.GetValue()); }
internal static void RegisterInternal(LinqPropertyBase linqProperty) { RegisteredPropertyList.Add(linqProperty); linqProperty.BuildDependentPropertyChain(); }