///<include file='docs.xml' path='doc/members/member[@name="M:GenericRepositoryAndService.Repository.GenericRepository`1.Add(`0)"]/*'/>
 public void Add(T t)
 {
     if (GenericToolsTypeAnalysis.HasDynamicDBTypeOrListType <T>())
     {
         throw new CascadeCreationInDBException(typeof(T));
     }
     dbSet.Add(t);
 }
 ///<include file='docs.xml' path='doc/members/member[@name="M:GenericRepositoryAndService.Repository.GenericRepository`1.Modify(`0)"]/*'/>
 public void Modify(T t)
 {
     if (GenericToolsTypeAnalysis.HasDynamicDBTypeOrListType <T>())
     {
         throw new CascadeCreationInDBException(typeof(T));
     }
     if (DataContext.Entry(t).State == EntityState.Detached)
     {
         dbSet.Attach(t);
     }
     DataContext.Entry(t).State = EntityState.Modified;
 }
 ///<include file='docs.xml' path='doc/members/member[@name="M:GenericRepositoryAndService.Repository.GenericRepository`1.Update(`0,System.Object[])"]/*'/>
 public void Update(T t, params object[] objs)
 {
     if (GenericToolsTypeAnalysis.HasDynamicDBTypeOrListType <T>())
     {
         CustomParam[] props = SetCustom(objs);
         UpdateGeneric(DataContext, t, props);
     }
     else
     {
         Modify(t);
         Commit();
     }
 }
 ///<include file='docs.xml' path='doc/members/member[@name="M:GenericRepositoryAndService.Repository.GenericRepository`1.Save(`0,System.Object[])"]/*'/>
 public void Save(T t, params object[] objs)
 {
     if (GenericToolsTypeAnalysis.HasDynamicDBTypeOrListType <T>())
     {
         CustomParam[] props = SetCustom(objs);
         SaveGeneric(t, props);
     }
     else
     {
         Add(t);
         Commit();
     }
 }