protected override void ajax(CharStream _js_)
 {
     _js_.WriteNotNull(@"{PubPath:");
     {
         AutoCSer.TestCase.SqlModel.WebPath.Pub _value1_ = PubPath;
         _js_.WriteNotNull(@"new AutoCSerPath.Pub({})");
     }
     _js_.WriteNotNull(@",StudentInfo:");
     {
         AutoCSer.TestCase.SqlTableCacheServer.Student _value1_ = StudentInfo;
         if (_value1_ == null)
         {
             _js_.WriteJsonNull();
         }
         else
         {
             _js_.WriteNotNull(@"Demo.Student.Get({Birthday:");
             {
                 AutoCSer.Sql.Member.IntDate _value2_ = _value1_.Birthday;
                 _js_.WriteNotNull(@"{DateTime:");
                 {
                     System.DateTime _value3_ = _value2_.DateTime;
                     _js_.WriteJson((System.DateTime)_value3_);
                 }
                 _js_.WriteNotNull(@",Value:");
                 {
                     int _value3_ = _value2_.Value;
                     _js_.WriteJson((int)_value3_);
                 }
                 _js_.WriteNotNull(@"}");
             }
             _js_.WriteNotNull(@",Email:");
             {
                 string _value2_ = _value1_.Email;
                 if (_value2_ == null)
                 {
                     _js_.WriteJsonNull();
                 }
                 else
                 {
                     _js_.WriteJson(_value2_);
                 }
             }
             _js_.WriteNotNull(@",Gender:");
             {
                 AutoCSer.TestCase.SqlModel.Member.Gender _value2_ = _value1_.Gender;
                 _js_.CopyJsonNotNull(_value2_.ToString());
             }
             _js_.WriteNotNull(@",Id:");
             {
                 int _value2_ = _value1_.Id;
                 _js_.WriteJson((int)_value2_);
             }
             _js_.WriteNotNull(@",Name:");
             {
                 string _value2_ = _value1_.Name;
                 if (_value2_ == null)
                 {
                     _js_.WriteJsonNull();
                 }
                 else
                 {
                     _js_.WriteJson(_value2_);
                 }
             }
             _js_.WriteNotNull(@",Remote:");
             {
                 AutoCSer.TestCase.SqlTableCacheServer.Student.RemoteExtension _value2_ = _value1_.Remote;
                 _js_.WriteNotNull(@"{Classes:");
                 {
                     AutoCSer.TestCase.SqlTableCacheServer.Student.RemoteExtension.JoinClassDate[] _value3_ = _value2_.Classes;
                     if (_value3_ == null)
                     {
                         _js_.WriteJsonNull();
                     }
                     else
                     {
                         _js_.WriteNotNull(@"[");
                         {
                             int _loopIndex3_ = _loopIndex_;
                             _loopIndex_ = 0;
                             foreach (AutoCSer.TestCase.SqlTableCacheServer.Student.RemoteExtension.JoinClassDate _value4_ in _value3_)
                             {
                                 if (_loopIndex_ == 0)
                                 {
                                     _js_.Write('"');
                                     _js_.WriteNotNull("Class[@.Demo.Class,,Discipline,Id,Name]ClassDate[Date[DateTime,Value]]");
                                     _js_.Write('"');
                                 }
                                 _js_.Write(',');
                                 _js_.WriteNotNull(@"[");
                                 {
                                     AutoCSer.TestCase.SqlTableCacheServer.Class _value5_ = _value4_.Class;
                                     if (_value5_ == null)
                                     {
                                         _js_.WriteJsonNull();
                                     }
                                     else
                                     {
                                         _js_.WriteNotNull(@"[");
                                         {
                                             AutoCSer.TestCase.SqlModel.Member.Discipline _value6_ = _value5_.Discipline;
                                             _js_.CopyJsonNotNull(_value6_.ToString());
                                         }
                                         _js_.WriteNotNull(@",");
                                         {
                                             int _value6_ = _value5_.Id;
                                             _js_.WriteJson((int)_value6_);
                                         }
                                         _js_.WriteNotNull(@",");
                                         {
                                             string _value6_ = _value5_.Name;
                                             if (_value6_ == null)
                                             {
                                                 _js_.WriteJsonNull();
                                             }
                                             else
                                             {
                                                 _js_.WriteJson(_value6_);
                                             }
                                         }
                                         _js_.WriteNotNull(@"]");
                                     }
                                 }
                                 _js_.WriteNotNull(@",");
                                 {
                                     AutoCSer.TestCase.SqlModel.Member.ClassDate _value5_ = _value4_.ClassDate;
                                     _js_.WriteNotNull(@"[");
                                     {
                                         AutoCSer.Sql.Member.IntDate _value6_ = _value5_.Date;
                                         _js_.WriteNotNull(@"[");
                                         {
                                             System.DateTime _value7_ = _value6_.DateTime;
                                             _js_.WriteJson((System.DateTime)_value7_);
                                         }
                                         _js_.WriteNotNull(@",");
                                         {
                                             int _value7_ = _value6_.Value;
                                             _js_.WriteJson((int)_value7_);
                                         }
                                         _js_.WriteNotNull(@"]");
                                     }
                                     _js_.WriteNotNull(@"]");
                                 }
                                 _js_.WriteNotNull(@"]");
                                 ++_loopIndex_;
                             }
                             _loopIndex_ = _loopIndex3_;
                         }
                         _js_.WriteNotNull(@"].FormatView()");
                     }
                 }
                 _js_.WriteNotNull(@"}");
             }
             _js_.WriteNotNull(@"})");
         }
     }
     _js_.WriteNotNull(@"}");
 }
 protected override void ajax(CharStream _js_)
 {
     _js_.WriteNotNull(@"{ClassInfo:");
     {
         AutoCSer.TestCase.SqlTableCacheServer.Class _value1_ = ClassInfo;
         if (_value1_ == null)
         {
             _js_.WriteJsonNull();
         }
         else
         {
             _js_.WriteNotNull(@"Demo.Class.Get({DateRange:");
             {
                 AutoCSer.TestCase.SqlModel.Member.DateRange _value2_ = _value1_.DateRange;
                 _js_.WriteNotNull(@"{Start:");
                 {
                     AutoCSer.Sql.Member.IntDate _value3_ = _value2_.Start;
                     _js_.WriteNotNull(@"{DateTime:");
                     {
                         System.DateTime _value4_ = _value3_.DateTime;
                         _js_.WriteJson((System.DateTime)_value4_);
                     }
                     _js_.WriteNotNull(@",Value:");
                     {
                         int _value4_ = _value3_.Value;
                         _js_.WriteJson((int)_value4_);
                     }
                     _js_.WriteNotNull(@"}");
                 }
                 _js_.WriteNotNull(@"}");
             }
             _js_.WriteNotNull(@",Discipline:");
             {
                 AutoCSer.TestCase.SqlModel.Member.Discipline _value2_ = _value1_.Discipline;
                 _js_.CopyJsonNotNull(_value2_.ToString());
             }
             _js_.WriteNotNull(@",Id:");
             {
                 int _value2_ = _value1_.Id;
                 _js_.WriteJson((int)_value2_);
             }
             _js_.WriteNotNull(@",Name:");
             {
                 string _value2_ = _value1_.Name;
                 if (_value2_ == null)
                 {
                     _js_.WriteJsonNull();
                 }
                 else
                 {
                     _js_.WriteJson(_value2_);
                 }
             }
             _js_.WriteNotNull(@",Remote:");
             {
                 AutoCSer.TestCase.SqlTableCacheServer.Class.RemoteExtension _value2_ = _value1_.Remote;
                 _js_.WriteNotNull(@"{StudentCount:");
                 {
                     int _value3_ = _value2_.StudentCount;
                     _js_.WriteJson((int)_value3_);
                 }
                 _js_.WriteNotNull(@",Students:");
                 {
                     AutoCSer.TestCase.SqlTableCacheServer.Student[] _value3_ = _value2_.Students;
                     if (_value3_ == null)
                     {
                         _js_.WriteJsonNull();
                     }
                     else
                     {
                         _js_.WriteNotNull(@"[");
                         {
                             int _loopIndex3_ = _loopIndex_;
                             _loopIndex_ = 0;
                             foreach (AutoCSer.TestCase.SqlTableCacheServer.Student _value4_ in _value3_)
                             {
                                 if (_loopIndex_ == 0)
                                 {
                                     _js_.Write('"');
                                     _js_.WriteNotNull("@.Demo.Student,,Birthday[DateTime,Value]Email,Gender,Id,Name");
                                     _js_.Write('"');
                                 }
                                 _js_.Write(',');
                                 if (_value4_ == null)
                                 {
                                     _js_.WriteJsonNull();
                                 }
                                 else
                                 {
                                     _js_.WriteNotNull(@"[");
                                     {
                                         AutoCSer.Sql.Member.IntDate _value5_ = _value4_.Birthday;
                                         _js_.WriteNotNull(@"[");
                                         {
                                             System.DateTime _value6_ = _value5_.DateTime;
                                             _js_.WriteJson((System.DateTime)_value6_);
                                         }
                                         _js_.WriteNotNull(@",");
                                         {
                                             int _value6_ = _value5_.Value;
                                             _js_.WriteJson((int)_value6_);
                                         }
                                         _js_.WriteNotNull(@"]");
                                     }
                                     _js_.WriteNotNull(@",");
                                     {
                                         string _value5_ = _value4_.Email;
                                         if (_value5_ == null)
                                         {
                                             _js_.WriteJsonNull();
                                         }
                                         else
                                         {
                                             _js_.WriteJson(_value5_);
                                         }
                                     }
                                     _js_.WriteNotNull(@",");
                                     {
                                         AutoCSer.TestCase.SqlModel.Member.Gender _value5_ = _value4_.Gender;
                                         _js_.CopyJsonNotNull(_value5_.ToString());
                                     }
                                     _js_.WriteNotNull(@",");
                                     {
                                         int _value5_ = _value4_.Id;
                                         _js_.WriteJson((int)_value5_);
                                     }
                                     _js_.WriteNotNull(@",");
                                     {
                                         string _value5_ = _value4_.Name;
                                         if (_value5_ == null)
                                         {
                                             _js_.WriteJsonNull();
                                         }
                                         else
                                         {
                                             _js_.WriteJson(_value5_);
                                         }
                                     }
                                     _js_.WriteNotNull(@"]");
                                 }
                                 ++_loopIndex_;
                             }
                             _loopIndex_ = _loopIndex3_;
                         }
                         _js_.WriteNotNull(@"].FormatView()");
                     }
                 }
                 _js_.WriteNotNull(@"}");
             }
             _js_.WriteNotNull(@"})");
         }
     }
     _js_.WriteNotNull(@",PubPath:");
     {
         AutoCSer.TestCase.SqlModel.WebPath.Pub _value1_ = PubPath;
         _js_.WriteNotNull(@"new AutoCSerPath.Pub({})");
     }
     _js_.WriteNotNull(@"}");
 }