当前位置: 首页 > news >正文

高校网站平台建设nginx优化wordpress网站速度

高校网站平台建设,nginx优化wordpress网站速度,网页分析工具,wordpress 新闻主题反射小应用之DataTable和ListT互操作 在程序中#xff0c;往往会遇到一些小情况#xff0c;就是数据库取出来的时候为了方便直接将数据通过存储在DataSet或DataTable中#xff0c;这样做的一个后果是在日后的的对数据进行”细“操作时#xff0c;就发现它可能没有L… 反射小应用之DataTable和ListT互操作 在程序中往往会遇到一些小情况就是数据库取出来的时候为了方便直接将数据通过存储在DataSet或DataTable中这样做的一个后果是在日后的的对数据进行”细“操作时就发现它可能没有ListT那么方便而另外一些时候(比如使用SqlBulkCopy的时候)使用DataTable会比较方便。于是我们就会想写一个专门的它们之间的互操作来使我们在操作它们的时候变得不那么复杂。网上关于它们之间的互操作的解决方法蛮多。这里参考了下它们结合自己实际应用写了一个它们之间互操代码如下 public static class DataTableEntityInteroperate{/// summary/// ListT to DataTable/// /summary/// typeparam nameTEntity/typeparam/// param nameentitiesEntities/param/// returnsDataTable/returnsinternal static DataTable ToDataTableT(this ListT entities) where T : class,new(){//IsNull returnif (null entities || entities.Count 0)return null;//Initial ColumnsDataTable dt new DataTable();PropertyInfo[] pArray typeof(T).GetProperties();try{Array.ForEachPropertyInfo(pArray, p {dt.Columns.Add(p.Name);});entities.ForEach(t { //Initial Rows DataRow drdt.NewRow();int i 0;Array.ForEachPropertyInfo(pArray, p {if (dt.Columns.Contains(p.Name))dr[i] p.GetValue(t); //Assigned to each column});i; dt.Rows.Add(dr);//备忘测试不仔细。});return dt;}catch (Exception){throw;}}/// summary/// DataTable to Entities/// /summary/// typeparam nameTEntity/typeparam/// param namedtDataTable/param/// returnsListT/returnsinternal static ListT ToEntitiesT(this DataTable dt)/*必须来在于数据库来自于文件可能存在问题*/ where T : class,new(){//IsNullableif (null dt || dt.Rows.Count 0)return null;//Initial EntitiesListT entities new ListT();try{foreach (DataRow row in dt.Rows){PropertyInfo[] pArray typeof(T).GetProperties();T entity new T();Array.ForEachPropertyInfo(pArray, p { if(row[p.Name]!DBNull.Value)p.SetValue(entity, row[p.Name], null);});entities.Add(entity);}return entities;}catch (Exception){throw;}} }   关乎ToEntities扩展方法的备注:这个方法适合的是DataTable是由数据库直接返回的情况。如果DataTable数据是由Xml文件直接反序列化而来。就要在初始化DataTable时候对DaTable的列对应在数据实体中的类型进行指定。 关于DataTable数据是直接从文件而来的备注: public class XmlHelper {/// summary /// 将XML转换为DATATABLE /// /summary /// param nameFileURL/param /// returns/returns public static DataTable XmlAnalysisArray(string filepath){try{DataSet ds new DataSet();ds.ReadXml(filepath);return ds.Tables[0];}catch (Exception ex){throw ex;}}/// summary /// 将DATASET 转换为 XML/// /summary /// param nameFileURL/param /// returns/returns public static void DatasetConversionXML(DataSet ds, string FileURL){try{ds.WriteXml(FileURL);}catch (Exception ex){throw ex;}}/// summary/// Xml序列化/// /summary/// typeparam nameT对象的类型/typeparam/// param namet序列化对象实例/param/// param namefilePath文件路径/parampublic static void XmlSerializerT(ListT t, string filePath){XmlSerializer xmlSerializer new XmlSerializer(typeof(ListT));StreamWriter writer new StreamWriter(filePath);//将s对象写入到指定的IO流文件中try{xmlSerializer.Serialize(writer, t);}catch (Exception){//errr message}finally{writer.Close();}}/// summary/// Xml反序列化/// /summary/// typeparam nameT对象类型/typeparam/// param namet对象实例/parampublic static ListT XmlDeserializeT(ListT t, string filePath) //必须是经过同样的过程反序列化好的文件{XmlSerializer mySerializer new XmlSerializer(typeof(ListT));FileStream myFileStream null;if (File.Exists(filePath)) //检查文件是否存在{try{myFileStream new FileStream(filePath, FileMode.Open);t (ListT)mySerializer.Deserialize(myFileStream);}catch (FileNotFoundException){//File not Found}catch (Exception){//the other error message}finally{myFileStream.Close();}}return t;}} Xml文件是直接从DataTable序列化而成而不是由ListT序列化而来。 做如下调用则会抛出异常(异常处理已经加上谢谢Mainz) var dt XmlHelper.XmlAnalysisArray(Server.MapPath(XML\Students));var list dt.ToEntitiesStudent(); 调试会发现。StudentID在实体中是Int32类型。而反序列化出来的是String类型。关于此处的完美解决方案希望大家能够指点。此处美中不足。 代码下载    posted on 2014-05-25 17:47 深谷幽兰 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/fengchengjushi/p/3751402.html
http://wiki.neutronadmin.com/news/351170/

相关文章:

  • 网站建设费维护费做网站一年
  • 南阳网站网站建设成都微网站
  • 易语言怎么做网站自动登录网址收录查询
  • 怎样编辑网站域名注册平台的网站怎么做
  • 网站对应的ip地址吗做网站用vps还是虚拟主机
  • 网站公司查询网站幻灯片效果
  • 上海早晨新闻今天seo网站案例
  • 做免费网站推广开头语班级网站的规划与建设
  • 怎么建设免费小说网站给千图网等网站做设计赚钱吗
  • 网站编辑及seo招聘万能应用商店下载
  • 做网站构思有关做美食的网站乐
  • 国内做网站费用it培训机构学校
  • 做网站应该用什么配置的电脑贵州交通建设集团网站
  • 北京网站建设模板案例凡科h5制作
  • 亚成成品网站源码简述电子商务网站建设的主要步骤
  • 做网站的入门书籍某公司网站建设策划
  • 万网虚拟主机做网站教程网站排名影响因素
  • 呼和浩特建设厅网站制作网站的最新软件是什么
  • 北京网站代理备案seo厂家电话
  • vue做电商网站建设银行网站安全性分析
  • 网站图片的像素溧阳做网站价格
  • python做的网站源码深圳专业网站建设公司
  • 网站建设空间网站空间邮箱
  • 网站上地图怎么做的网站建设小说
  • 专门做定制的网站高校网站建设目的
  • 关于实施公司网站建设的请示泰安城市建设吧
  • 网页设计作业之玩具商城网站盐城做网站哪家好
  • 天津外贸建站公司wordpress 管理员头像
  • python做网站后台快速wordpress 建网站
  • 网站建设待遇php面向对象网站开发