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

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

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

      Entity Framework 實踐系列 —— 搞好關系 - 兩情相悅(雙向一對一,one-to-one)- 續(xù)

      上篇文章中,我們通過WithRequiredDependent或WithRequiredPrincipal實現(xiàn)了“雙向一對一”關系,但是Entity Framework生成的SQL語句很糟糕。

      在上篇文章發(fā)布一個多小時之后,我們找到了解決之道。這就是寫博客帶來的好處,逼著你靜下心來深入思考。

      問題的原因在于我們向Entity Framework傳遞了不合情理的“一對一”關系信息,把Entity Framework搞得暈頭轉(zhuǎn)向。BlogSite中有UserID,BlogUser中卻沒有BlogID,這是一個不平等的“一對一”?!皟汕橄鄲偂北緛砭褪窍嗷サ?、平等的,不存在誰依賴誰、誰主宰誰。男人心中有愛情密碼,女人為什么不能有?男人主動追求女人,女人為什么只能被動挨追?兩情相悅是兩顆心的交互,誰先感覺到,誰就主動些。

      我們先回顧一下之前不平等的兩情相悅(一對一關系):

      注:BlogUser類中缺少BlogID屬性,BlogUser表中缺少BlogID字段。

      看看真正的兩情相悅:

      注:BlogUser類增加了BlogID屬性,BlogUser表中增加了BlogID字段,其他都沒動。

      然后在OnModelCreating中通過Fluent API進行如下定義:

      modelBuilder.Entity<BlogSite>()
      .HasRequired(b
      => b.BlogUser)
      .WithMany()
      .HasForeignKey(b
      => b.UserID);

      modelBuilder.Entity
      <BlogUser>()
      .HasRequired(u
      => u.BlogSite)
      .WithMany()
      .HasForeignKey(u
      => u.BlogID);

      運行測試,看看是否真的兩情相悅了:

      測試通過!

      接著,我們要看一看是否是完美的“兩情相悅”。打開Server Server Profiler,揭開“兩情”的真諦:

      獲取一個BlogSite列表時執(zhí)行的SQL:

      SELECT
      [Extent1].[BlogID] AS [BlogID],
      [Extent1].[BlogApp] AS [BlogApp],
      [Extent1].[IsActive] AS [IsActive],
      [Extent1].[UserID] AS [UserID],
      [Extent2].[UserID] AS [UserID1],
      [Extent2].[Author] AS [Author],
      [Extent2].[BlogID] AS [BlogID1]
      FROM [dbo].[BlogSite] AS [Extent1]
      INNER JOIN [dbo].[BlogUser] AS [Extent2]
      ON [Extent1].[UserID] = [Extent2].[UserID]
      WHERE 1 = [Extent1].[IsActive]

      取一個BlogUser列表時執(zhí)行的SQL:

      SELECT
      [Extent1].[BlogID] AS [BlogID],
      [Extent1].[UserID] AS [UserID],
      [Extent1].[Author] AS [Author],
      [Extent2].[BlogID] AS [BlogID1],
      [Extent2].[BlogApp] AS [BlogApp],
      [Extent2].[IsActive] AS [IsActive],
      [Extent2].[UserID] AS [UserID1]
      FROM [dbo].[BlogUser] AS [Extent1]
      INNER JOIN [dbo].[BlogSite] AS [Extent2]
      ON [Extent1].[BlogID] = [Extent2].[BlogID]

      這才是完美的兩情相悅!這才是“雙向一對一”關系的完美實現(xiàn)!

      posted @ 2011-07-08 19:21  dudu  閱讀(11563)  評論(26)    收藏  舉報
      主站蜘蛛池模板: 中文字幕国产在线精品| 色噜噜狠狠成人综合| 日本少妇自慰免费完整版| 国产91色综合久久免费| 亚洲成人av综合一区| 欧美最猛黑人xxxx| 国产精品无遮挡又爽又黄| 色吊丝av熟女中文字幕| 综合色一色综合久久网| 亚洲中文字幕无码爆乳| 日韩熟女乱综合一区二区| 亚洲AV无码成人网站久久精品| 日本边添边摸边做边爱喷水| 天天摸夜夜摸夜夜狠狠添| 99精品久久久中文字幕| 无码国内精品久久人妻蜜桃| 国产成人欧美一区二区三区在线| 国产一区二区三区导航| 欧洲lv尺码大精品久久久| 激情人妻自拍中文夜夜嗨| 福利一区二区在线观看| 2019国产精品青青草原| 好紧好湿太硬了我太爽了视频| 日韩高清福利视频在线观看| 不卡一区二区国产精品| 永登县| 久久精品国产精品亚洲精品| 国产乱子伦视频在线播放 | 国产中文字幕精品在线| 国产日韩精品中文字幕| 国产欧美在线手机视频| 日本欧美一区二区免费视频| 亚洲av无码之国产精品网址蜜芽| 中文字幕成熟丰满人妻| 秋霞无码久久久精品| 麻豆国产AV剧情偷闻女邻居内裤 | 日韩av一区二区不卡在线| 一区二区三区精品视频免费播放| 日本乱子人伦在线视频| 欧美变态另类牲交| 亚洲最大的熟女水蜜桃AV网站|