[ASP.NET 4.5 / VS 2012]Entity Framework 5.0範例修正

摘要:[ASP.NET 4.5 / VS 2012]Entity Framework 5.0範例修正




 

書本「下集」 

  ASP.NET專題實務(II) -- 範例應用與4.0新功能(松崗出版)

PChome 24hr
下集(第二版,黑皮書,第七刷),VB、C#雙語法

 

 

在 Entity FrameWork這一章裡面,

原本的範例 Default_1_Manual.aspx

 

以前的 .NET 3.5(SP1)與 .NET 4.0使用的寫法 (下面用綠色的字來表示)

     請參閱MSDN網站:http://msdn.microsoft.com/zh-tw/library/bb345303.aspx

目前在 .NET 4.5略有改變。

..........................................................................................................................................................................................

一開始宣告的 NameSpace,例如: Imports testModel已經用不到。


        Using t_context2 As New testEntities()

            GridView1.DataSource = t_context2.test.ToArray()
            '-- 重點!! t_context2.test是 System.Data.Entity.DbSet(Of test)型態

            GridView1.DataBind()
            '-- 在此採用 DataBinding來作。
        End Using


        ''***************************************************************
        ''*** 以前的作法。.NET 3.5 SP1 / .NET 4.0
        ''***************************************************************
        '-- (1). 連結資料庫(連結字串已經寫在 EDM與 Web.Config檔裡面)
        'Using t_context As New testEntities()

        'Dim t_query As ObjectQuery(Of test) = t_context.test
        ''-- (2). 執行SQL指令。列出 test實體(資料表)的所有資料,類似:Select * From test。
        ''-- http://msdn.microsoft.com/zh-tw/library/bb345303.aspx   三種作法

        'GridView1.DataSource = t_query.Execute(MergeOption.AppendOnly)
        ''--ObjectQuery<T>.Execute 方法 。http://msdn.microsoft.com/zh-tw/library/bb343787.aspx
        ''--MergeOption 列舉型別。http://msdn.microsoft.com/zh-tw/library/system.data.objects.mergeoption.aspx

        'GridView1.DataBind()
        ''-- (3). 自由發揮。在此採用 DataBinding來作。
        ''-- 然後, (4).關閉與釋放資源。
        'End Using

..........................................................................................................................................................................................

 

書本範例 Default2_1.aspx

    一開始宣告的 NameSpace,例如: Imports testModel已經用不到。


        Using t_context1 As New testEntities()
            Dim t_query As System.Data.Entity.DbSet(Of test) = t_context1.test

            For Each test In t_query
                Response.Write(test.id.ToString() & "----")
                Response.Write(test.title.ToString() & "<br />")
            Next

        End Using



        ''***************************************************************
        ''*** 以前的作法。.NET 3.5 SP1 / .NET 4.0
        ''***************************************************************
        'Using u_context As New testEntities()
        '    Try
        '        Dim t_Query1 As New ObjectQuery(Of test)("test",
u_context)

        '        For Each result As test In t_Query1
        '            Response.Write("<br />" & result.title)   '-- 列出 title欄位(在此稱為 title屬性)
        '        Next

        '    Catch ex As EntitySqlException
        '        Response.Write(ex.ToString())
        '    End Try
        'End Using

 

..........................................................................................................................................................................................

 

範例 Default_2_2_Manual.aspx

    一開始宣告的 NameSpace,例如: Imports testModel已經用不到。

    倘若您要沿用原本的寫法,請注意以下的變化:

 

        'Using u_context As New testEntities()   '-- .NET 3.5(SP1)與4.0的作法。
        Using u_context As New ObjectContext("name=testEntities")  '-- 重點!!
            Try
                Dim queryString As String = "SELECT VALUE t " & _
                                                                         "FROM testEntities.test AS t"   '==這是 Entity-SQL語法==

                Dim t_Query2 As New ObjectQuery(Of test)(queryString, u_context)

                For Each result1 As test In t_Query2
                    Response.Write("<br />" & result1.title)   '-- 列出 title欄位(在此稱為 title屬性)
                Next

            Catch ex As EntitySqlException
                Response.Write(ex.ToString())
            End Try
        End Using

 

 

 

 

很無趣喔!所以趕緊請出今日值班正妹 -- 乃木坂46

 

 

  •  
  •  

     

     

     

    我將思想傳授他人, 他人之所得,亦無損於我之所有;

    猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

    線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

    線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

    ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

    寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


    ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

    ................   facebook社團   https://www.facebook.com/mis2000lab   ......................

    ................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

     

    Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

    請看我們的「售後服務」範圍(嚴格認定)

    ......................................................................................................................................................

    ...................................................................................................................................................... 

    [遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

    事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

     

    ASP.NET MVC 5 線上教學

    累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估