ADO.NET Entity Framework で SELECT を直接実行(ExecuteStoreQuery)

ADO.NET Entity Framework では、ExecuteStoreQuery メソッドを利用して、SELECT ステートメントを直接実行することもできます。これは次のように記述します。

Imports System.Data.SqlClient
          :
        Using ctx As New NorthwindEntities()
            Dim para1 As New SqlParameter("@para1", SqlDbType.NVarChar, 40)
            para1.Value = "Ch%"
            Dim query As IEnumerable(Of Products) = _
                            ctx.ExecuteStoreQuery(Of Products) _
                            ("SELECT * FROM Products WHERE ProductName LIKE @para1", _
                              para1)
            For Each p In query
                Console.WriteLine(p.ProductID & ": " & p.ProductName)
            Next
        End Using

SELECT ステートメント内のパラメーターは、ADO.NET の SqlParameter(System.Data.SqlClient)で定義することができます。