방법: EntityCommand를 사용하여 매개 변수가 있는 Entity SQL 쿼리 실행(EntityClient)
이 항목에서는 EntityCommand 개체를 사용하여 매개 변수가 있는 Entity SQL 쿼리를 실행하는 방법을 보여 줍니다.
이 예제의 코드를 실행하려면
프로젝트에 AdventureWorks Sales 모델을 추가하고 Entity Framework 를 사용하도록 프로젝트를 구성합니다. 자세한 내용은 방법: 엔터티 데이터 모델 마법사 사용(Entity Framework)을 참조하십시오.
응용 프로그램의 코드 페이지에서 다음 using 문(Visual Basic에서는 Imports)을 추가합니다.
Imports System Imports System.Collections.Generic Imports System.Collections Imports System.Data.Common Imports System.Data Imports System.IO Imports System.Data.SqlClient Imports System.Data.EntityClient Imports System.Data.Metadata.Edm
using System; using System.Collections.Generic; using System.Collections; using System.Data.Common; using System.Data; using System.IO; using System.Data.SqlClient; using System.Data.EntityClient; using System.Data.Metadata.Edm;
예제
다음 예제에서는 두 개의 매개 변수가 있는 쿼리 문자열을 생성하는 방법을 보여 줍니다. 그런 다음 EntityCommand를 만들고 두 매개 변수를 이 EntityCommand의 EntityParameter 컬렉션에 추가한 후 Contact
항목 컬렉션을 반복합니다.
Using conn As New EntityConnection("name=AdventureWorksEntities")
conn.Open()
' Create a query that takes two parameters.
Dim esqlQuery As String = "SELECT VALUE Contact FROM AdventureWorksEntities.Contacts " & _
" AS Contact WHERE Contact.LastName = @ln AND Contact.FirstName = @fn"
Using cmd As New EntityCommand(esqlQuery, conn)
' Create two parameters and add them to
' the EntityCommand's Parameters collection
Dim param1 As New EntityParameter()
param1.ParameterName = "ln"
param1.Value = "Adams"
Dim param2 As New EntityParameter()
param2.ParameterName = "fn"
param2.Value = "Frances"
cmd.Parameters.Add(param1)
cmd.Parameters.Add(param2)
Using rdr As DbDataReader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)
' Iterate through the collection of Contact items.
While rdr.Read()
Console.WriteLine(rdr("FirstName"))
Console.WriteLine(rdr("LastName"))
End While
End Using
End Using
conn.Close()
End Using
using (EntityConnection conn =
new EntityConnection("name=AdventureWorksEntities"))
{
conn.Open();
// Create a query that takes two parameters.
string esqlQuery =
@"SELECT VALUE Contact FROM AdventureWorksEntities.Contacts
AS Contact WHERE Contact.LastName = @ln AND
Contact.FirstName = @fn";
using (EntityCommand cmd = new EntityCommand(esqlQuery, conn))
{
// Create two parameters and add them to
// the EntityCommand's Parameters collection
EntityParameter param1 = new EntityParameter();
param1.ParameterName = "ln";
param1.Value = "Adams";
EntityParameter param2 = new EntityParameter();
param2.ParameterName = "fn";
param2.Value = "Frances";
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
using (DbDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess))
{
// Iterate through the collection of Contact items.
while (rdr.Read())
{
Console.WriteLine(rdr["FirstName"]);
Console.WriteLine(rdr["LastName"]);
}
}
}
conn.Close();
}
참고 항목
작업
방법: 매개 변수가 있는 쿼리 실행(Entity Framework)