<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      happyhippy

      這個世界的問題在于聰明人充滿疑惑,而傻子們堅信不疑。--羅素

       

            MyGenertion是一款不錯的代碼生成ORM代碼生成工具,下面是我學習過程中的一些筆記(總結了一下dOOdads C# Quick Reference文檔,還有自己在使用和調試過程中遇到的問題及自己的解決方法),貼出來與大家共享 。

       

           這篇文章主要講解怎樣用MyGeneration(我用的MyGeneration的版本號是1.5.1)的dOOdad模板(使用其自帶的模版)來生成代碼,及將這些代碼加入到項目中。

        

      1.   準備工作: 數據庫設計(MS Sql Server):
         1). 為每張表設置一個identity列作為主鍵。也可以用GUID或多列作為主鍵。
         2). 為每張表增加列名為“RowVersion”的列,數據類型設為時間戳(timestamp)。dOOdad將用這列處理并發。
         3). dOOdad只能處理單張表,不能處理多表聯合查詢。要處理多張表,可以創建視圖,用操作試圖替換多表問題。
         4). 在設計數據庫和應用程序時,盡可能少地使用null。

        

      2.  安裝MyGeneration,添加dOOdad項目到解決方案:
         1).http://www.mygenerationsoftware.com下載并安裝。


         2). 安裝完成后,dOOdad項目位于..\MyGeneration\Architectures\dOOdad\CSharp\MyGeneration.dOOdad\目錄下,有兩個版本,2003和2005,根據你的需求,選擇一個添加到解決方案中。另外,目錄下有個readme.txt文件,也將了一些dOOdas的使用步驟和說明。
             當然,我們也可以直接打開該項目,編譯生成dll文件,然后在應用程序中添加該程序集引用;但該項目的代碼還存在一些問題,可能要在調試的時候才能發現,這時再修改代碼添加引用就很不方便,所以個人不推薦這樣做。
      在DbAdapters文件夾下,默認所有的文件的生成操作屬性都是"無",即不編譯進項目。分別選擇應用程序的數據庫所對應的兩個*Entity.cs和*DynamicQuery.cs兩個文件,將他們的屬性--生成操作改為"編譯",這樣就可以編譯進生成的Assembly中。
      MyGeneration支持的數據庫對應的文件:
         SQL Server (SqlClientDynamicQuery.cs, SqlClientEntity.cs)                System.Data.SqlClient
         Access        (OleDbDynamicQuery.cs, OleDbEntity.cs)                          System.Data.OleDb
         Oracle          (OracleClientDynamicQuery.cs, OracleClientEntity.cs)   System.Data.OracleClient
         PostgreSql  (PostgreSqlDynamicQuery.cs, PostgreSqlEntity.cs)       Npgsql  
         Firebird        (FirebirdSqlDynamicQuery.cs, FirebirdSqlEntity.cs)        FirebirdSql.Data.Firebird
         VistaDB       (VistaDBDynamicQuery.cs, VistaDBEntity.cs)                   VistaDB
         SQLite         (SQLiteDynamicQuery.cs, SQLiteEntity.cs)                        Finisar.SQLite
         MySQL         (MySQL4DynamicQuery.cs, MySQL4Entity.cs)                  MySql.Data.MySqlClient
        3). 現在就可以編譯了。

       

       

      3.  其他需要訪問該Assembly的項目:
         1). 為項目添加引用--項目--MyGeneration.dOOdad
         2). 為項目添加兩個文件夾:
             DAL(數據訪問層):用于存放MyGeneration創建的Abstract類(下面會講如何使用MyGeneration來生成這些類)。
             BLL(業務邏輯層): 用于存繼承上面的Abstract類的具體類,可由MyGeneration自動生成。

       

       

      4.  使用MyGeneration:
        4.1 生成CRUD存儲過程:
            1) 運行MyGeneration,Edit--DefaultSetting,設置數據庫、編程語言等。
            2) 點擊工具欄-Template Browser,選擇要創建的存儲過程的模板
                可用的模版有:
                 Microsoft SQL      - Microsoft SQL Server.dOOdad Stored Procedures
                 Microsoft Access   - Microsoft Access.Access Stored Procedures
                 Oracle             - Oracle.Oracle Stored Procedures
                 PostgreSQL         - PostgreSQL.PostgreSQL Stored Procedures
                 Firebird           - Firebird.StoredProcedures.Firebird Stored Procedures
            3) 運行模版,選擇數據庫和表(一般選則所有表),單擊確定后,會在OutPut中輸出存儲過程
            4) 將生成的存儲過程拷貝到查詢分析器中,然后執行向數據庫中寫入存儲過程。

        4.2 為數據庫中的表生成DAL Abstract類:
            同上,選擇Template Browser--dOOdad--C#(其他的與此類似)--dOOdad Business Entity--執行模版--選擇上面創建的DAL文件夾,設置要生成的類的命名空間和數據庫,選擇所有表,然后生成Abstract類。


        4.3 為數據庫中的視圖生成具體類:
            選擇dOOdad Business View模版,并將生成的類保存在BLL文件夾,其他同上。


        4.4 生成具體類(也可以自己寫):
            選擇dOOdad Concrete Class模版,其他同上。

        

      5.   Visual Studio中使用上面生成的資源:
          1) 在配置文件web.config或app.config配置連接字符串。dOOdad項目中默認的key是"dbConnection",也可以修改BusinessEntity類中的_defaultConfig字段的值來修改key的默認值。
            另外,dOOdad項目有個問題就是連接字符串并沒有初始化(可能是模版的bug),代碼如下: 

      internal string _raw = "";
      virtual public string ConnectionString
      {
          
      get
          
      {
           
      return _raw;
          }

         
      set
         
      {
          _raw 
      = value;
         }

      }

             雖然可以在應用程序中手動給屬性ConnectionString賦值,但這樣的話,每個業務實體在new完之后,都要給ConnectionString賦值,比較繁瑣不好維護;一個比較好的辦法就是在BusinessEntity的構造函數中對_raw進行初始化(自己寫代碼)。我用的是VS2005,可以用VS2005自動生成配置文件和配置文件的讀取類Settings,然后初始化連接字符串,例如:internal string _raw = ProjectName.Properties.Settings.Default.ConnectionString;

         2)  可以在上面生成的具體類(Concrete Class)中添加應用程序自己的業務邏輯,可處理自定義存儲過程和SQL語句等。

      posted on 2006-08-23 00:04  Silent Void  閱讀(4041)  評論(4)    收藏  舉報

      主站蜘蛛池模板: 九九热精品在线免费视频| 免费无遮挡无码永久视频| 国产成人综合色视频精品| 国产亚洲精品久久综合阿香 | 亚洲av成人免费在线| 国产精品aⅴ免费视频| 亚洲成人av在线高清| 中国老妇xxxx性开放| 18禁免费无码无遮挡网站| 亚洲国产精品一区在线看| 天堂网亚洲综合在线| 日韩在线视频一区二区三| 日韩永久永久永久黄色大片| 少妇高潮太爽了在线视频| 亚洲高清日韩专区精品| 亚洲色av天天天天天天| 十四以下岁毛片带血a级| 国内精品自线在拍| 欧美激情一区二区| 亚洲日本va午夜在线影院| 国产免费播放一区二区三区| 色丁香一区二区黑人巨大| 久久综合色之久久综合| 亚洲日韩成人无码不卡网站| 美女无遮挡免费视频网站| 依兰县| 老色鬼永久精品网站| 欧美不卡无线在线一二三区观| 亚洲午夜福利网在线观看| 久久一级精品久熟女人妻| 国产美女高潮流白浆视频| 美女18禁一区二区三区视频| 妺妺窝人体色www婷婷| 国产欧美在线一区二区三| 人妻少妇偷人作爱av| 亚洲产在线精品亚洲第一站一| 亚洲av首页在线| 亚洲日本精品一区二区| 国产毛片精品一区二区色| 久久久精品人妻一区二区三区 | 亚洲国产精品综合久久20|