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

廊坊微信网站建设搜索引擎排名优化方法

廊坊微信网站建设,搜索引擎排名优化方法,深圳公司注册的服务机构,查企业用什么软件在项目中#xff0c;我们在持久化的时候#xff0c;通常会使用Model层来封装数据——以便于传输#xff0c;甚至页面的数据绑定时#xff0c;也通过了Model#xff1a;通过反射和遍历页面控件的方式。而当我们表格多的时候#xff0c;写Model是一件很烦的事情——重复无意…    在项目中我们在持久化的时候通常会使用Model层来封装数据——以便于传输甚至页面的数据绑定时也通过了Model通过反射和遍历页面控件的方式。而当我们表格多的时候写Model是一件很烦的事情——重复无意义的工作而且还容易出错。看看你的Model吧绝大部分都是成员变量的声明和属性的定义。 为什么我们不将这件工作交给一个工具来完成呢 CodeSmith是个很强大的Code生成工具可以操作数据库、Collection.net集合类型等等,可生成c#、js、vb、HashTable、List、Query、Xml自成一套语法规则。Eclipse将这个生成工作集成到它的IDE里面去了虽然没这么强大当然你写好模板还是可以生成java代码的。它的工作原理很简单读模板文件、用数据覆盖标记、写文件等等只不过它将添加了链接了数据库等功能直接图形化操作可设置断点调试解释执行方便Debug。 好吧闲话不多少我们开始本文的主体部分。 首先你需要下载CodeSmith并安装网上有注册机本文基于V3.2版本。打开CodeSmith Studio新建一个c#模板菜单栏File-New-c# Template。如下例 %  CodeTemplate Language C#  TargetLanguage T-SQL       Description Generates a update stored procedure.   % %  Assembly Name SchemaExplorer   %   %  Import Namespace SchemaExplorer   %   %  Property Name SourceTable  Type SchemaExplorer.TableSchema       Category Context       Description Table that the stored procedures should be based on.   % % Assembly SrcCommonUtility.cs % %  Import Namespace Common.Data   % script runat template     CommonUtility rule new  CommonUtility(); / script using  System; using  System.Collections; using  System.Collections.Generic; using  System.Data;                                                                                                                                                          using  TonkNet.FrameWork.Business.Model; using  TonkNet.FrameWork.Business.Model.Attributes; namespace  TonkNet.KBS.Model{     ///   summary      ///   % SourceTable.Name %  object for TFramework mapped table  % SourceTable.Name % .     ///   /summary     [Serializable]    [Table( % SourceTable.Name % ,  dbo )]     public   class   %  SourceTable.Name  %     {         %   for  ( int  i    0 ; i   SourceTable.Columns.Count; i ) {  %          protected   %  rule.GetCSharpVariableType(SourceTable.Columns[i])  %  _ %  SourceTable.Columns[i].Name  % ;     %  }  %          public   %  SourceTable.Name  % () { }     %   for  ( int  i    0 ; i   SourceTable.Columns.Count; i ) {  %         [Column( % SourceTable.Columns[i].Name % ,  %  rule.GetCSharpVariableType(SourceTable.Columns[i])  % ,  %  SourceTable.Columns[i].Size  % , PrimaryKey    %   if  (SourceTable.PrimaryKey.MemberColumns.Count    1    SourceTable.Columns[i].IsPrimaryKeyMember) {  % true %  }  else  {  % false %  }  % )]         public   string   %  rule.GetCamelCaseName(SourceTable.Columns[i].Name)  %         {             get  {  return  _ %  SourceTable.Columns[i].Name  % ; }             set  { _ %  SourceTable.Columns[i].Name  %    value; }        }     %  }  %     }} 这解释一下前面几行 1. 第一行指名这是一个C#语言模板。 2. % Assembly NameSchemaExplorer %         % Import NamespaceSchemaExplorer %加载使用访问数据库的组建SchmaExplorer 3. 接下来表示变量类型为数据库的表如果你在选择数据库对象时后面介绍时选择的类型是视图需要将变量类型Type中的SchemaExplorer.TableSchema修改为SchemaExplorer.ViewSchema。 4. % Assembly SrcCommonUtility.cs %表示引入类CommonUtility.cs如此我们便可以使用c#的方法来处理字符串了比如你需要将字段名首字母改为大些该类的GetCamelCaseName(string)方法实现了。  注意CommonUtility.cs类见附录需要放到安装根目录下如果路径不对会提示你某个文件下找不到这个类将它copy进去即可。 5. script标签内的部分创建了CommonUtility.cs的类的实例。 模板using上面的部分属于CodeSmith内部的定义在生成Code时不会被添加到文件中来。上面的模板可能有些凌乱简化一下大约是这个样子下面的文件只表示文件的结构模板不可以修改为它 using  System; using  System.Collections; using  System.Collections.Generic; using  System.Data; using  TonkNet.FrameWork.Business.Model; using  TonkNet.FrameWork.Business.Model.Attributes; namespace  TonkNet.KBS.Model{     ///   summary      ///  #table.name# object for TFramework mapped table #table.name#.     ///   /summary     [Serializable]    [Table( #table.name# ,  dbo )]     public   class  #table.name#    {         //  循环取table里的字段名来声明成员变量  CodeSmith里面%%内为代码块或数据、或函数          protected  #table.column[i].type# _#table.column[i].name#;         //  循环去table的字段来定义属性              public  #table.column[i].name#() { }        [Column( #table.column[i].name# , #table.column[i].type#, #table.column[i].size#, PrimaryKey   #table.column[i].name#.IsPrimaryKeyMember)  true   else   false          public   string  #table.column[i].name#        {             get  {  return  _#table.column[i].name#; }             set  { #table.column[i].name#   value; }        }    }} 设置好模板后保存一下。 接下来在属性栏中选择数据库对象表格点击...按钮弹出窗口 接着改是添加CommonUtility.cs添加进来的时候了它包括一些数据库类型转c#类型、首字母大写的方法 using  System; using  System.Text; using  CodeSmith.Engine; using  SchemaExplorer; using  System.ComponentModel; using  System.Data; namespace  Common.Data{     /**/ ///   summary      ///  TemplateRule     ///   /summary      public   class  CommonUtility    {         // get Columns info by TableName          public  ColumnSchemaCollection GetColumnCollectionByTable(TableSchema table)        {            ColumnSchemaCollection columns new  ColumnSchemaCollection(table.Columns);             return  columns;        }         // Get camelcase name,such as Customer,          public   string  GetCamelCaseName( string  str)        {             return  str.Substring( 0 , 1 ).ToUpper() str.Substring( 1 );        }                // Get ,user,private const String USER_FIELD  User          public   string  GetMemberConstantDeclarationStatement(ColumnSchema column)        {             return  GetMemberConstantDeclarationStatement( public const String  ,column);        }                 // such as public const String USER_TABLE  User          public   string  GetTableConstantDeclarationStatement(TableSchema table)        {             return  GetMemberConstantDeclarationStatement( public const String  ,table);            }         // suck as USER_TABLE          public   string  GetUpperStatement(TableSchema table)        {             return      table.Name.ToUpper() _TABLE ;       }         // suck as USER_FIELD          public   string  GetUpperStatement(ColumnSchema column)       {            return  column.Name.ToUpper() _FIELD ;        }         //  such as USER_TABLE  User          public   string  GetMemberConstantDeclarationStatement( string  protectionLevel,TableSchema table)        {             return  protectionLevel GetUpperStatement(table)    GetCamelCaseName(table.Name) ;        }                // such as USERID_FIELD  Userid          public   string  GetMemberConstantDeclarationStatement( string  protectionLevel,ColumnSchema column)        {             return  protectionLevel GetUpperStatement(column)    GetCamelCaseName(column.Name) ;        }             public   string  GetCSharpVariableType(ColumnSchema column)        {             switch (column.DataType)            {                 case  DbType.AnsiString:  return   string ;                 case  DbType.AnsiStringFixedLength:  return   string ;                 case  DbType.Binary:  return   byte[] ;                 case  DbType.Boolean:  return   bool ;                 case  DbType.Byte:  return   int ;                 case  DbType.Currency:  return   decimal ;                 case  DbType.Date:  return   DataTime ;                 case  DbType.DateTime:  return   DateTime ;                 case  DbType.Decimal:  return   decimal ;                 case  DbType.Double:  return   double ;                 case  DbType.Guid:  return   Guid ;                 case  DbType.Int16:  return   short ;                 case  DbType.Int32:  return   int ;                 case  DbType.Int64:  return   long ;                 case  DbType.Object:  return   object ;                 case  DbType.SByte:  return   sbyte ;                 case  DbType.Single:  return   float ;                 case  DbType.String:  return   string ;                 case  DbType.StringFixedLength:  return   string ;                 case  DbType.Time:  return   TimeSpan ;                 case  DbType.UInt16:  return   ushort ;                 case  DbType.UInt32:  return   uint ;                 case  DbType.UInt64:  return   ulong ;                 case  DbType.VarNumeric:  return   decimal ;            }                         return   null ;        }                 public   string  GetCSharpBaseType(ColumnSchema column)       {             switch (column.DataType)           {                 case  DbType.AnsiString:  return   System.String ;                 case  DbType.AnsiStringFixedLength:  return   System.String ;                 case  DbType.Binary:  return   System.Byte[] ;                 case  DbType.Boolean:  return   System.Boolean ;                 case  DbType.Byte:  return   System.Int32 ;                 case  DbType.Currency:  return   System.Decimal ;                 case  DbType.Date:  return   System.DataTime ;                 case  DbType.DateTime:  return   System.DataTime ;                 case  DbType.Decimal:  return   System.Decimal ;                 case  DbType.Double:  return   System.Double ;                 case  DbType.Guid:  return   System.Guid ;                 case  DbType.Int16:  return   System.Int16 ;                 case  DbType.Int32:  return   System.Int32 ;                 case  DbType.Int64:  return   System.Int64 ;                 case  DbType.Object:  return   System.Object ;                 case  DbType.SByte:  return   System.SByte ;                 case  DbType.Single:  return   System.Single ;                 case  DbType.String:  return   System.String ;                 case  DbType.StringFixedLength:  return   System.String ;                 case  DbType.Time:  return   System.TimeSpan ;                 case  DbType.UInt16:  return   System.UInt16 ;                 case  DbType.UInt32:  return   System.UInt32 ;                 case  DbType.UInt64:  return   System.UInt64 ;                 case  DbType.VarNumeric:  return   System.Decimal ;            }             return   null ;        }    }} 现在点生成你就能看到你想要的Model了可能你需要修改类名因为它们跟表名一致而我一般命名表明通常是工程名缩写 _ 表的意义。或者你在CommonUtility.cs里面添加改名的方法。 补充CodeSmith中文教程链接http://download.csdn.net/source/347104
http://www.dnsts.com.cn/news/187295.html

相关文章:

  • pycharm 做网站仙桃网站建设
  • 滕州做网站的多少烟台市建设工程交易中心网站
  • 我们为什么要学网站开发外贸网站建设加推广
  • 社交网站开发公司湛江做网站设计
  • 网站模板资源杭州模板网站建设
  • 安庆城乡建设局网站wordpress获取分类
  • 网站建设要做哪些wordpress音乐加载慢
  • 网站模板50元北京红酒网站建设
  • 如何做网站 百度建网站北京
  • 新注册的公司怎么做网站wordpress下载的插件怎么用
  • 网站建设怎么样找客户快iis 多网站安全设置
  • 昆明网站建设高端定制暴富建站
  • 网站推广制作教程设计家装修网站
  • 免费开源企业网站ps网页设计尺寸
  • 济南网站建站公司网页制作图片链接
  • 建设一个网站预算重庆网站建设 狐灵科技
  • 网站开发用怎么语言做网站的岗位好吗
  • 仿励志一生网站整站源码 带数据兴仁企业建站公司
  • 个人主页界面网站ip反查域名网站
  • 网站建设客户需求表 文库做兼职去哪个网站
  • 三亚网站开发公司建筑设计公司英文
  • 网站开发核心技术电子商务网站建设小结
  • 金华网站建设微信开发微信分享接口网站开发 php
  • 企业做网站的好处千秋网络公司营业执照可以做几个网站
  • 长沙企业网站开发微联讯点如何创建自媒体手机网站
  • 双鱼儿 网站建设来个可以做渗透的网站
  • 网站 流量攻击怎么办菜谱网站开发
  • 深圳外贸网站制作公司asp做的网站如何发布
  • 怎么制作网站软件下载网页制作超链接怎么做
  • 学习做网站多久做最优秀的自己的视频网站