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

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

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

      冠軍

      導(dǎo)航

      Entity Framework 4.1 之一 : 基礎(chǔ)

      原文名稱(chēng):Entity Framework 4.1: Basics (1)
      原文地址:http://vincentlauzon.wordpress.com/2011/04/03/entity-framework-4-1-basics-1/

      看到 Entity Framework 4.1 推薦英文教程,為了幫大家看起來(lái)方便一些,簡(jiǎn)單翻譯一下。這是一個(gè)系列,共有 8 篇,這是第 1 篇。

       
      1. Entity Framework 4.1 之一 : 基礎(chǔ)
      2. Entity Framework 4.1 之二 : 覆蓋默認(rèn)的約定
      3. Entity Framework 4.1 之三 : 貪婪加載和延遲加載
      4. Entity Framework 4.1 之四:復(fù)雜類(lèi)型
      5. Entity Framework 4.1 之五:多對(duì)多的關(guān)系
      6. Entity Framework 4.1 之六:樂(lè)觀并發(fā)
      7. Entity Framework 4.1 之七:繼承
      8. Entity Framework 4.1 之八:繞過(guò) EF 查詢(xún)映射
       
      從 Code First 的名字可以猜到,使用 Code-First,你需要從代碼開(kāi)始數(shù)據(jù)的工作,你可以直接通過(guò)代碼生成相應(yīng)的數(shù)據(jù)庫(kù),也可以使用已經(jīng)存在的數(shù)據(jù)庫(kù)。使用 Code First 的好處在于,你的實(shí)體類(lèi)不需要任何 EF 的內(nèi)容:不需要派生自某個(gè)特定的基類(lèi),也不需要任何討厭的標(biāo)簽附加在其上。好了,對(duì)于標(biāo)簽來(lái)說(shuō),像我們將要看到的,是可選的。
      讓我們通過(guò)一個(gè)簡(jiǎn)單的實(shí)體模型開(kāi)始吧:訂單和訂單明細(xì),我們使用下面的類(lèi)來(lái)建模。
      publicclass Order
      {
      publicint OrderID { get; set; }
      publicstring OrderTitle { get; set; }
      publicstring CustomerName { get; set; }
      public DateTime TransactionDate { get; set; }

      public List<OrderDetail> OrderDetails { get; set; }
      }

      publicclass OrderDetail
      {
      publicint OrderDetailID { get; set; }
      publicint OrderID { get; set; }
      publicdecimal Cost { get; set; }
      publicstring ItemName { get; set; }

      public Order Order { get; set; }
      }
      注意類(lèi)的下述特點(diǎn):
      • 沒(méi)有派生自任何 EF 類(lèi)
      • 沒(méi)有使用 EF 標(biāo)簽
      • 訂單 Order 包含若干的訂單明細(xì) OrderDetail,訂單明細(xì)包含一個(gè)指向訂單的引用。
      • 每一個(gè)屬性是:
        • 簡(jiǎn)單的 CLR 類(lèi)型,例如:string, int 等等
        • 實(shí)體類(lèi)型,例如:訂單
        • 實(shí)體的 List 集合,例如:List<OrderDetail>
      需要通過(guò)一個(gè)容器將這些類(lèi)映射到數(shù)據(jù)庫(kù),這里稱(chēng)為  Database-Context:
      publicclass MyDomainContext : DbContext
      {
      public DbSet<Order> Orders { get; set; }
      public DbSet<OrderDetail> OrderDetails { get; set; }

      static MyDomainContext()
      {
      Database.SetInitializer
      <MyDomainContext>(
      new DropCreateDatabaseIfModelChanges<MyDomainContext>());
      }
      }
      這個(gè)類(lèi)是 EF 相關(guān)的,它不需要與你的模型類(lèi)出現(xiàn)在同一個(gè)程序集中。
      context 必須滿(mǎn)足下面的要求:
      • 派生自 System.Data.Entity.DbContext
      • 對(duì)于你希望使用的每一個(gè)實(shí)體集定義一個(gè)屬性
      • 每一個(gè)屬性的類(lèi)型是 System.Data.Entity.DbSet<T>,T 就是實(shí)體的類(lèi)型
      • 每一個(gè)屬性都是讀寫(xiě)屬性 read/write ( get/set )
      在這里,DbContext 基類(lèi)通過(guò)反射來(lái)獲取映射到數(shù)據(jù)庫(kù)的實(shí)體。這遵循一系列的約定。
      例如,對(duì)于 Order 來(lái)說(shuō),他的屬性 OrderID 必須是主鍵,其它的約定將用來(lái)推斷列名和列的類(lèi)型,默認(rèn)數(shù)據(jù)庫(kù)中的列名是屬性名,使用 string 類(lèi)型來(lái)影射數(shù)據(jù)庫(kù)中的 nvarchar(128), 如果屬性的類(lèi)型是可空的,那么,影射到數(shù)據(jù)庫(kù)中的允許 NULL 等等。以后我們可以看到如果覆蓋這些約定。
      我們將增加一個(gè)靜態(tài)的構(gòu)造函數(shù),這個(gè)靜態(tài)的構(gòu)造函數(shù)對(duì)于整個(gè)應(yīng)用程序域來(lái)說(shuō)建立一個(gè)標(biāo)準(zhǔn),當(dāng)數(shù)據(jù)庫(kù)的上下文初始化的時(shí)候,檢查數(shù)據(jù)庫(kù)的架構(gòu)是否與模型相符,如果不是的話(huà),將刪除數(shù)據(jù)庫(kù)然后重新創(chuàng)建它。EF 將會(huì)創(chuàng)建一個(gè)名為 dbo.EdmMetadata 的表,然后將模型結(jié)構(gòu)的 Hash 保存到其中來(lái)實(shí)現(xiàn)。
      如果數(shù)據(jù)庫(kù)不存在,EF 將會(huì)創(chuàng)建它,創(chuàng)建什么數(shù)據(jù)庫(kù)呢?默認(rèn)情況下,將在你的本地機(jī)器上,使用上下文對(duì)象名稱(chēng),有許多方式來(lái)覆蓋這個(gè)行為,最簡(jiǎn)單的方式是在配置文件中增加一個(gè)名字為上下文對(duì)象名稱(chēng)的數(shù)據(jù)庫(kù)連接串,在我這里,叫做 MyDomainContext,還可以通過(guò)實(shí)現(xiàn)一個(gè)構(gòu)造函數(shù),然后調(diào)用非默認(rèn)的基類(lèi)構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)。
      在下一篇,我將會(huì)演示如果覆蓋這些約定。

      posted on 2011-05-06 15:01  冠軍  閱讀(43929)  評(píng)論(22)    收藏  舉報(bào)

      主站蜘蛛池模板: 国产精品自在拍首页视频8| 日韩中文字幕高清有码| 精品人妻一区二区| 成人动漫综合网| 嫩草成人AV影院在线观看 | 磴口县| 4虎四虎永久在线精品免费| 国精产品一品二品国精在线观看| 熟女精品国产一区二区三区| 亚欧洲乱码视频一二三区| аⅴ天堂国产最新版在线中文 | 国产精品综合色区av| 国产精品白嫩极品在线看| 农村老熟妇乱子伦视频| 亚洲欧美综合中文| 福利视频一区二区在线| 偷看少妇自慰xxxx| 精品国产午夜福利在线观看| 成熟熟女国产精品一区二区| 国产精品免费看久久久 | 洪江市| 色偷偷成人综合亚洲精品| 国产成人午夜精品福利| 明水县| 高清自拍亚洲精品二区| 亚洲国产成人精品综合色| 国产稚嫩高中生呻吟激情在线视频| 亚洲性图日本一区二区三区| 国产精品免费AⅤ片在线观看| 国产欧美va欧美va在线| 国产精品无码一区二区在线| 一区二区三区国产亚洲网站| 亚洲熟女一区二区av| 精品国偷自产在线视频99| 亚洲欧美日韩愉拍自拍美利坚| 激情啪啪啪一区二区三区| 99热精品毛片全部国产无缓冲| 国产精品中文字幕久久| 日韩黄色av一区二区三区| 亚洲精品久久久久午夜福禁果tⅴ 免费看美女被靠到爽的视频 | 日韩国产精品一区二区av|