Example #1
0
        //----------------------------------------------------------
        // 分表储存
        private void SaveTablePerSubClass()
        {
            Type t2 = this.GetType();

            while (t2 != typeof(CEntity))
            {
                TMetaEntity         meta2       = GetMetaEntity(t2);
                TMetaTable          mt2         = meta2.MetaTable;
                TInheritMappingType inheritType = mt2.InheritMappingType;
                try
                {
                    // PerConcrete与PerSubClass同样都调用函数Save(meta)
                    // 在此函数中,去进一步区分MappingType
                    // NG
                    Save(meta2);
                }
                catch (TDataSilentlyChangedException e2)
                {
                    string trace = TEntityConcurrencyTrace.Trace(this, meta2);
                    SimpleLog.Write(trace);
                    SimpleLog.Write(e2);
                    throw e2;
                }
                t2 = t2.BaseType;
            }
        }
Example #2
0
 //----------------------------------------------------------
 // 同表储存
 private void SaveTablePerConcreteClass(TMetaEntity meta)
 {
     try
     {
         // PerConcrete与PerSubClass同样都调用函数Save(meta)
         // 在此函数中,去进一步区分MappingType
         // NG
         Save(meta);
     }
     catch (TDataSilentlyChangedException e1)
     {
         string trace = TEntityConcurrencyTrace.Trace(this, meta);
         SimpleLog.Write(trace);
         SimpleLog.Write(e1);
         throw e1;
     }
 }