//数据持久化 internal static void SaveToDb(LanguageInfo pLanguageInfo, Language pLanguage,bool pIsNew) { pLanguage.LanguageId = pLanguageInfo.languageId; pLanguage.LanguageName = pLanguageInfo.languageName; pLanguage.IsNew=pIsNew; string UserName = SubsonicHelper.GetUserName(); try { pLanguage.Save(UserName); } catch(Exception ex) { LogManager.getInstance().getLogger(typeof(LanguageInfo)).Error(ex); if(ex.Message.Contains("插入重复键"))//违反了唯一键 { throw new AppException("此对象已经存在");//此处等待优化可以从唯一约束中直接取出提示来,如果没有的话,默认为原始的出错提示 } throw new AppException("保存失败"); } pLanguageInfo.languageId = pLanguage.LanguageId; //如果缓存存在,更新缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(LanguageInfo))) { ResetCache(); } }