예제 #1
0
        private bool CalcIsPersistent(CRefMetaInfo aProperty, CTyp aObjectTyp)
        {
            var aIsPersistent = this.GetDeclaringTyp(aProperty) == aObjectTyp ||
                                this.CalcSpreadAcrossTables(aProperty)
            ;

            return(aIsPersistent);
        }
예제 #2
0
 private CTyp GetDeclaringTyp(CRefMetaInfo aProperty) => this.Typs.GetBySystemType(aProperty.PropertyInfo.DeclaringType);
예제 #3
0
 private bool CalcSpreadAcrossTables(CRefMetaInfo aProperty) => aProperty.IsDefined <CSpreadAcrossTablesAttribute>()
                                                             ? aProperty.GetAttribute <CSpreadAcrossTablesAttribute>().Value
                                                             : false
 ;
예제 #4
0
 public CRx1PRef(CEntityObject aParentEntityObject, CRefMetaInfo aRefMetaInfo) : base(aParentEntityObject, aRefMetaInfo, new CAccessKey())
 {
 }
예제 #5
0
 public CR11Ref(CEntityObject aParentEntityObject, CRefMetaInfo aRefMetaInfo, CAccessKey aWriteKeyNullable = null) : base(aParentEntityObject, aRefMetaInfo, aWriteKeyNullable)
 {
 }
예제 #6
0
 public CRx1Ref(CEntityObject aParentEntityObject, CRefMetaInfo aRefMetaInfo, CAccessKey aWriteKeyNullable = null) : base(aParentEntityObject, aRefMetaInfo, aWriteKeyNullable)
 {
     this.ObjectProxy = new CObjectProxy <TTarget>(aParentEntityObject.Storage, default(Guid));
 }
예제 #7
0
 protected CNRef(CEntityObject aParentEntityObject, CRefMetaInfo aRefMetaInfo) : base(aParentEntityObject, aRefMetaInfo, new CAccessKey())
 {
     this.Collection = aRefMetaInfo.NewCollection <TRef>(aParentEntityObject.Storage);
     this.ChangeValue(this.Collection, this.WriteKeyNullable, false);
 }
예제 #8
0
 protected CRef(CEntityObject aParentEntityObject, CRefMetaInfo aRefMetaInfo, CAccessKey aWriteKeyNullable)
 {
     this.ParentEntityObject = aParentEntityObject;
     this.RefMetaInfo        = aRefMetaInfo;
     this.WriteKeyNullable   = aWriteKeyNullable;
 }