1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          使用CodeSmith 生成代碼

          來源:互聯網轉載 時間:2024-01-29 07:59:07

          CodeSmith是一款優秀的代碼生成工具。在ORM中,它能幫助我們生成實體類、XML配置文件,從而簡化了我們一部分的開發工作。下面簡要說說它的基本用法。

          1、? 打開CodeSmith,創建一個模板

          File->New->CSharp Template 。創建的模板內容如下圖

          模板中SampleStringProperty 和?SampleBooleanProperty都是聲明的變量,在下邊代碼中都可以用到該變量,我們可以把該模板看做是一個HTML頁面,沒有用標簽圈起來的代碼和用<%= %>內部的代碼都可以輸出到界面上。其中<%= %>與aspx頁面中的用法一致。

          2、編譯代碼,給聲明的變量賦值

          點擊紅色方框圈住的按鈕即可編譯模板,模板編譯通過后右側會出現一個Properties的框,在這里面我們可以給我們在模板中定義的變量賦值,如下圖所示。

          3、運行模板

          4、根據數據庫生成對應實體層的代碼

          1、連接數據庫

          我們創建一個localhost的數據庫連接,方法如下圖

          2、新建一個Entity.cst模板,編寫如下模板代碼

          <%@ CodeTemplate Language="C#" TargetLanguage="C#" ResponseEncoding="UTF-8" Debug="False" Description="生成數據庫實體" %><%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="屬性" Description="要生成實體的數據表" %><%@ Property Name="NameSpace" Type="System.String" Optional="False" Default="Modul" Category="屬性" Description="實體類所在的命名空間" %><%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %><%@ Assembly Name="SchemaExplorer" %><%@ Import Namespace="SchemaExplorer" %><%--*本代碼由代碼生成器自動生成,請不要更改此文件的任何代碼。*生成時間:<%= DateTime.Now.ToLocalTime() %>*生成者:<%= opuser %>--%>using System;namespace <%= this.NameSpace+".Entity.Entities" %>{    ///<summary>    ///表<%= this.SourceTable.Name %>的實體類    ///</summary>    public class <%= this.SourceTable.Name %>    {        <% foreach(ColumnSchema column in this.SourceTable.Columns){%>             <%--生成get set 方法--%>        /// <summary>        /// <%= string.IsNullOrEmpty(column.Description)?StringUtil.ToCamelCase(column.Name):column.Description  %>        /// </summary>        public virtual <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>        {            get;set;        }                <%}%>    }}

          在該模板中我們定義了兩個變量:SourceTable--該變量存儲需要生成的數據庫表,NameSpace--生成的代碼中對應的命名空間。

          3、編譯代碼,在屬性窗口中給SourceTable和NameSpace變量賦值,如下圖

          4、點擊運行即可看到生成的代碼。

          5、生成的代碼存儲到指定的文件夾

          1、添加一個Main.cst模板,并編寫如下代碼。

          Main.cst與Entity.cst在同一個目錄下。代碼中有比較全的注釋,可以仔細看一下。

          <%-- Name:Author: Description: --%><%@ Template Language="C#" TargetLanguage="Text" %><%-- 注冊實體層Entity模板 --%><%@ Register Name="EntityTemplate" Template="Entity.cst" MergeProperties="False" %><%@ Property Name="SourceDatabase" Type="SchemaExplorer.DatabaseSchema" DeepLoad="True" Optional="False" Description="存數數據庫" %><%@ Property Name="NameSpace" Type="System.String" Default="BitCar.Finance.CC" Optional="False" Description="命名空間" %><%//創建實體層Entity類this.GenerateEntityClasses();Debug.WriteLine("OK");%><script runat="template">//生成實體Entity類private void GenerateEntityClasses(){    CodeTemplate Template =new EntityTemplate();//實體    //循環數據數據庫中的表    foreach(TableSchema table in this.SourceDatabase.Tables)    {        string FileDirectory = OutputDirectory +"\Mode\Entities\"+ table.Name +".cs";        //給Entity.cst模板中的變量SourceTable 賦值        Template.SetProperty("SourceTable",table);        //給Entity.cst模板中的變量NameSpace 賦值         Template.SetProperty("NameSpace",NameSpace);        //文件輸出        Template.RenderToFile(FileDirectory,true);        Debug.WriteLine(FileDirectory +" 創建成功.");    }}</script><script runat="template">//代碼模板輸出路徑,編譯后可以在屬性窗口中選擇private string Directory = String.Empty;[Editor(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor))] [Optional, NotChecked][DefaultValue("")]public string OutputDirectory { get{return Directory;}set{if (value.EndsWith("\")) value = value.Substring(0, value.Length -1);Directory = value;} }</script><%="全部生成成功" %>

          該模板中定義了三個變量:Namespace--指定生成的代碼的命名空間,SourceDatabase--存儲數據庫,Directory--指定生成代碼存儲的路徑(該變量在模板底部定義)

          2、編譯模板,在屬性窗口中給變量賦值,然后生成即可看到生成的代碼。

          標簽:codesmith-

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          3060顯卡能不能帶動大部分游戲?但是有些游戲會卡頓。360顯卡如果不能玩游戲,只要不是pc平臺就不能玩游戲。另外,雖然他會玩大部分游戲。但是有些游戲是4k起步的。然后連3060顯卡都可能在玩的時候卡。1.這款顯卡整體性能非常好,特別是喜歡玩游戲的話。這款顯卡可以說是為你量身定做的。2.首先,這款顯卡的庫存充足,避免了庫存緊張而漲價的問題,而且這款顯卡的關鍵點在于屏蔽了一般的挖礦能力。要知道顯卡價...

          北華大學北校區怎么樣?北校區是北華三個校區中最老的,但北校區的宿舍條件是三個校區中最好的。今年9月,學校只剩下少量的六人宿舍,大部分都是四人宿舍。學校周邊屬于吉林偏遠地區,環境比較混亂,但是北校區還是可以滿足你正常的學習和生活的??傊?,北華完全有資格為你的成功。北華大學北校區多少人?北校區有16300多名學生。北華大學,簡稱北華,位于吉林省吉林市。是吉林省規模最大的綜合性重點大學,“卓越博士教育培...

          tom hua號稱世界第一互聯網營銷大師,到底tom hua是個什么樣的人物呢?他與美國前總統比爾·克林頓、英國首相托尼·布萊爾、勵志大師安東尼·羅賓、營銷天才杰伊·亞伯拉罕以及金正日的暢銷書作家馬克·漢森進行了交談。通過他的電子出版物和數百場現場研討會,湯姆改變了世界各地成千上萬人的生活,幫助他們在自己的互聯網業務上取得成功。湯姆曾經隨機挑選了一個觀眾來創作產品,建立網站,并在舞臺上進行推廣。短...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>